私は現在、サーバーから引き出されたモデル データに基づいてテンプレートをレンダリングするために Backbone を使用する Web アプリに取り組んでいます。以下は、モデルベースのテンプレート レンダリング用のボイラープレート コード (CoffeeScript) です。私の問題は、サーバーの応答時間が遅いと、AJAX 呼び出し (フェッチ) が完了するのを待っている間にレンダリングがハングすることです。
model.fetch() 呼び出しからのデータを必要とする部分を除いて、ほとんどのテンプレートをロードする必要があります。私のテンプレートはモデル データに大きく依存しているため、テンプレートのコードのモデルに依存する部分と独立した部分を解きほぐし、途切れ途切れのユーザー エクスペリエンスを最小限に抑えるためのクリーンまたは標準的な方法があるかどうかを知りたいです。私が考えていたのは、テンプレートのモデルに依存しない部分を最初にロードし、次にモデルに依存する部分をロードすることでしたが、それは非効率的です。
model = new Model # Create model
model.fetch().done -> # Load model data from server
view = _.template ViewTemplate, # Fill template w/ model data
model: model
$('#view').html view # Update DOM w/ newly rendered template