逆火(Backbone-Firebase)集合未加载

时间:2014-02-10 08:56:46

标签: backbone.js firebase backfire

基本上,我创建了一个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允许我执行一个获取方法,我的所有问题都将得到解决......但是它们已经禁用了Backfire对象

1 个答案:

答案 0 :(得分:0)

试试这个:

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

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

  myCatalogApp.initialize();
})