1

基本的に、Backfire アプリを作成しました。ページが読み込まれるとすぐに、Backbone.Firebase.Collection インスタンスを反復処理します。

そして、結果をページにレンダリングします...問題は、明らかにコレクションインスタンスにfirebase上のすべてのデータが含まれていないことです。

そのため、コレクションが Firebase からデータを取得する時間を確保するために、1000 ミリ秒のタイムアウトを設定しました。この方法はひどいです...データが同期される場合とそうでない場合があります。

「BackFire Collection Model」にfirebaseからのデータがあるとすぐにイベントをトリガーするにはどうすればよいですか?

$(document).ready(function() {
  var myCatalogApp = new CatalogApp()
  var catalog = new Catalog()

  setTimeout(function(){myCatalogApp.displayCollection(catalog)},1000);
  //To give catalog time to asynchronously retrieve database entries
  myCatalogApp.initialize()
})

var Catalog = Backbone.Firebase.Collection.extend({
  model: Item,
  firebase: "https://mycatalogmaker.firebaseIO.com/items"
});

Backfire が fetch メソッドを実行できるようになれば、私の問題はすべて解決されるはずですが、Backfire オブジェクトに対しては無効になっています。

4

1 に答える 1

0

これを試して :

$(document).ready(function() {
  var myCatalogApp = new CatalogApp()
  var catalog = new Catalog();

  catalog.bind('sync', function(){myCatalogApp.displayCollection(catalog);});

  myCatalogApp.initialize();
})        
于 2014-02-10T10:06:13.700 に答える