Backbone中的无限嵌套集合

时间:2014-12-17 14:18:18

标签: javascript backbone.js

我有一个非常简单的Backbone示例:

var myModel = Backbone.Model.extend();

var collection = Backbone.Collection.extend({
    model: myModel,


});

var c = new collection([
    {first_name: 'a', 
     last_name:'b'
    },
    {first_name:'c', 
     last_name:'d'
    }
    ]);

console.log('c is');
console.log(c);

你可以看到jsfiddle here

当您在Chrome开发者工具中查看此内容时,您可以看到每个Backbone模型上都有一个集合属性,您可以将其扩展并再次进入。见图:

enter image description here

这是什么?为什么会这样?

1 个答案:

答案 0 :(得分:0)

在每个模型中,如果它是集合的一部分,则存储一个集合对象。这里发生的事情是你在控制台中查看集合,里面有两个模型。每个模型都有存储在其中的集合对象(与您正在查看的集合相同)。因此,在控制台中查看时,它似乎是一种递归

目前没有在骨干js中记录。有关详细信息,请参阅https://github.com/jashkenas/backbone/issues/1161