8

コンテキスト:動作する参照データの大規模なコレクションをいくつか必要とするアプリケーションを構築しています。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」は私のアプリケーション オブジェクトです。スピナーを表示し、アプリケーション オブジェクトにアラートを送信することで、コレクションが作成されている間に読み込みステータスを更新できます。

4

3 に答える 3

5
于 2012-06-14T16:10:15.827 に答える
1

このfetch関数successは、コールバックを持つことができる options パラメーターを受け入れます。

var itemList = new ItemList;
itemList.fetch({success: function () {
    dqApp.trigger('itemList:reset');
}});
于 2012-10-19T20:43:16.437 に答える