1

所以基本上,我创建了一个 Backfire 应用程序。加载页面后,我将迭代我的 Backbone.Firebase.Collection 实例。

然后将结果呈现到页面上......问题显然是集合实例不包含firebase上的所有数据。

因此,我设置了 1000 毫秒的超时设置,以便集合有时间从 Firebase 获取数据。这种做法很糟糕......有时数据会同步,有时则不会。

一旦“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 回答