var MyMod = Backbone.Model.extend({
defaults: {
someField: "123"
}
});
var MyCol = Backbone.Collection.extend({
model: MyMod
});
var mod1 = new MyMod({someField: "222"});
var mod2 = new MyMod({someField: "333"});
var mod3 = new MyMod({someField: "555"});
var myCol = new MyCol();
myCol.add(mod1);
myCol.add(mod2);
myCol.add(mod3);
console.log(myCol);
我不明白这段代码有什么问题。当我在调试器或console.log中检查结果集合时,它有一些奇怪的递归结构 - 它有模型,每个模型都有模型集合,每个模型都有相同模型的集合 - 依此类推。 这是fiddle。
答案 0 :(得分:1)
模型具有collection
属性,该属性在首次将模型添加到集合时始终设置。因此,爱好集合记录每个模型,这必然会再次记录集合......等等。
如果要记录集合的内容,可以使用toJSON()
方法,该方法默认返回包含模型属性的普通对象的简单数组。
console.log(myCol.toJSON());