Backbone.js js如何用整个数据库表填充集合
我已经定义了一个Backbone.js js如何用整个数据库表填充集合,backbone.js,backbone.js-collections,Backbone.js,Backbone.js Collections,我已经定义了一个模型和一个集合,由于我的数据库中已经有记录,我希望在页面加载时显示应用程序中的所有记录 我尝试使用Backbone.sync,但在Chrome调试模式下仍然看到一个空集合 My Backbone.js代码: (由于模板依赖性,我不得不删除一些代码) 以下是我在Backbone.sync之后的集合中看到的内容: d _byCid: Object _byId: Object length: 0 models: Array[0] __proto__: x 您可能不应该直接调用sync
模型
和一个集合
,由于我的数据库中已经有记录,我希望在页面加载时显示应用程序中的所有记录
我尝试使用Backbone.sync
,但在Chrome调试模式下仍然看到一个空集合
My Backbone.js代码:
(由于模板依赖性,我不得不删除一些代码)
以下是我在Backbone.sync之后的集合中看到的内容:
d
_byCid: Object
_byId: Object
length: 0
models: Array[0]
__proto__: x
itemlist.fetch({success: function (models) {
console.log("got", models);
});
var myitemListView = new ItemListView1({collection: itemList});
在上面的代码示例中,如果坚持执行异步获取,则可能需要延迟创建视图,直到实际填充了集合,以避免列表从空变为满时出现不必要的闪烁(视图绑定到集合,并在获取完成时重置).请尝试删除尽可能多的代码,直到找到重现问题的代码的最小部分。这应该是提问所必需的步骤。为集合指定的
url
必须指向一个以JSON形式返回集合内容的地址。剩下的就交给骨干了。而且,您不必每次都要调用Bacbone.sync
来与服务器同步collection.fetch()是正确的方法。
itemlist.fetch({success: function (models) {
console.log("got", models);
});
var myitemListView = new ItemListView1({collection: itemList});