我试图让这个工作,但我与它斗争。当我检查回调fetch
时,我的收藏最终为空。在parse
期间,它不会给我任何明确的错误。这里是我的代码:如何用backbone.js中的几种模型创建一个集合?
我的收藏:
VOR.Collections.GridItems = Backbone.Collection.extend({
model : VOR.Models.GridItem,
url: "assets/data/grid.json",
parse: function(response){
var self = this;
_.each(response, function(griditem){
switch(griditem.type){
case "news":
self.add(new VOR.Models.NewsGridItem(griditem));
break;
default:
self.add(new VOR.Models.StandardGridItem(griditem));
break;
}
});
}
});
这是我如何创建集合:
griditems = new VOR.Collections.GridItems();
griditems.fetch({
error: function(e) {console.log(e);},
success: function(msg) {
console.log(msg)
});
当我控制台登录msg
我得到: 对象{长度= 0,模型= [0],_byId = {...},更多...}
我还记录集合中的parse
函数,它通过JSON文件运行得很好......任何这里有什么可能是错误的想法? msg
对象的长度应为5..i.e。这是parse
函数循环多少次并(应该)将模型添加到集合中。
感谢这个!这比'parse'中的更好,因为这也适用于引导数据。 – philoye
这正是我所期待的。谢谢! –
我认为第一行应该是'var VOR.Collections.GridItems = Backbone.Collection.extend({ – marcos82