コンテキスト:動作する参照データの大規模なコレクションをいくつか必要とするアプリケーションを構築しています。HTML と Javascript のみ (JSON を含む) に制限されています。
質問: サーバー上でコレクション オブジェクトが JSON 形式であり、Javascript のみを使用している Backbone.js でコレクションをブートストラップするにはどうすればよいですか?
これは私がすでに知っていることです:
- Backbone.js ブートストラップのベスト プラクティスには、Rails またはその他のサーバー側言語 ( http://backbonejs.org/#FAQ-bootstrap ) が必要です。
- ほとんどの Javascript I/0 操作は、サーバーからの JSON のロードなど、非同期です。
- fetch() を使用してデータをブートストラップすることは、Backbone.js ではアンチパターンと見なされます。fetch() も非同期操作です。
これは私がこれまでに思いついたものです:
ItemList = Backbone.Collection.extend({
model: Item,
url: 'http://localhost:8080/json/items.json'
});
var itemList = new ItemList;
itemList.fetch();
itemList.on('reset', function () { dqApp.trigger('itemList:reset'); });
「dqApp」は私のアプリケーション オブジェクトです。スピナーを表示し、アプリケーション オブジェクトにアラートを送信することで、コレクションが作成されている間に読み込みステータスを更新できます。