基本上,我创建了一个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对象
答案 0 :(得分:0)
试试这个:
$(document).ready(function() {
var myCatalogApp = new CatalogApp()
var catalog = new Catalog();
catalog.bind('sync', function(){myCatalogApp.displayCollection(catalog);});
myCatalogApp.initialize();
})