Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干集合递归地重复自身_Javascript_Backbone.js_Recursion_Collections - Fatal编程技术网

Javascript 主干集合递归地重复自身

Javascript 主干集合递归地重复自身,javascript,backbone.js,recursion,collections,Javascript,Backbone.js,Recursion,Collections,我不明白这个代码出了什么问题。当我在debugger或console.log中检查结果集合时,它有一些奇怪的递归结构——它有模型,每个模型都有模型集合,每个模型都有相同的模型集合——等等。 以下是。模型有一个集合属性,该属性在第一次将模型添加到集合时始终设置。因此,Love the collection会记录每个模型,这必然会再次记录该集合。。。等等 如果要记录集合的内容,可以使用toJSON()方法,默认情况下,该方法返回包含模型属性的普通对象的普通数组 var MyMod = Backbon

我不明白这个代码出了什么问题。当我在debugger或console.log中检查结果集合时,它有一些奇怪的递归结构——它有模型,每个模型都有模型集合,每个模型都有相同的模型集合——等等。
以下是。

模型有一个
集合
属性,该属性在第一次将模型添加到集合时始终设置。因此,Love the collection会记录每个模型,这必然会再次记录该集合。。。等等

如果要记录集合的内容,可以使用
toJSON()
方法,默认情况下,该方法返回包含模型属性的普通对象的普通数组

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);

好的,这是正常的行为,我不应该担心?谢谢,我以为我做错了什么!)是的,这很正常
toJSON()
对于日志记录非常有用,除非您正在烧录以查看事件处理程序或诸如此类的内容。:-)
console.log(myCol.toJSON());