Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/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_Marionette - Fatal编程技术网

Javascript 主干线.木偶-不知何故收集“;“失踪”;一些元素

Javascript 主干线.木偶-不知何故收集“;“失踪”;一些元素,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,我有一个让我发疯的问题。我有一个实体集合,命名的实体接收a和B对象。下面的代码虽然看起来很简单,但并不像(I)所预期的那样工作。 不知何故,添加到entities集合的最后一个对象没有被添加。事实上,如果我打印前后的长度,我得到的是1,2,3,4,5,5,而不是预期的1,2,3,4,5,6。 A和B是实体的“子类”,实体是一个模型,因为A和B都有相应的视图。最后,我预计会有6个可见对象,但我只得到5个。 有人知道问题出在哪里吗?提前谢谢 var that = this; _.each( this

我有一个让我发疯的问题。我有一个实体集合,命名的实体接收a和B对象。下面的代码虽然看起来很简单,但并不像(I)所预期的那样工作。 不知何故,添加到entities集合的最后一个对象没有被添加。事实上,如果我打印前后的长度,我得到的是1,2,3,4,5,5,而不是预期的1,2,3,4,5,6。 A和B是实体的“子类”,实体是一个模型,因为A和B都有相应的视图。最后,我预计会有6个可见对象,但我只得到5个。 有人知道问题出在哪里吗?提前谢谢

var that = this;
_.each( this.as.models, function( a, i ){
      that.entities.add( a );
});
_.each( this.bs.models, function( b, j ){
    that.entities.add( b );
});

将对象或主干模型添加到主干集合时,将进行检查,以确定该对象是否已存在于集合中。在插入现有对象的情况下,不会更改任何内容,也不会触发任何事件,依此类推。通过相等或匹配
id
属性,可以认为对象是相同的


有一种方法可以通过将
{merge:true}
选项传递给
add
方法来覆盖此选项。

可能是因为您在
this.as.models
this.bs.models
中的两个对象具有相同的id吗?是的,这就是问题所在。非常感谢你。这对我来说是愚蠢的。我之前已经检查过了,但那时候不是问题。然后我更改了一些代码,现在我碰巧有匹配的ID,但我再也不记得检查它了。