ビューをカスケードするバックボーン アプリケーションに取り組んでいます。initialize
メソッド内に子ビューを作成し、独自の 内で子ビュー レンダリングを呼び出すルート ビューが 1 つありますrender
。次のようになります。
initialize: function(options) {
console.log('body');
this.template = tpl({});
this.headerView = new HeaderView(options);
this.chartView = new ChartView(options);
this.footerView = new FooterView(options);
},
render: function() {
console.log("body");
this.$el.html(this.template);
this.headerView.setElement(this.$el.find('.header')).render();
this.chartView.setElement(this.$el.find('.chart')).render();
this.footerView.setElement(this.$el.find('.footer')).render();
return this;
}
すべての子ビューは同じように動作します。メソッド内で自分自身をレンダリングし、子render
を呼び出しますrender
。
私の質問は、最後のビューのレンダリングが終了した後にページ全体が表示されるのはなぜですか? 私のページはかなり複雑で、読み込みに 4 秒かかり、その間に空白のページが表示されます。いくつかのビューが既にレンダリングされていることがはっきりとわかるコンソール出力がたくさんあります。
このような大量の HTML がその場で表示されない理由がわかりません。そして、私はそれがそのようになりたくありません。