骨干.木偶-不知怎么“丢失”了一些元素

Backbone.Marionette - Collection somehow "missing" some elements

本文关键字:元素 丢失 木偶 不知怎么 骨干      更新时间:2023-09-26

我遇到了一个让我发疯的问题。我有一个实体的集合,命名实体接收a和B对象。下面的代码看起来很简单,但它并没有像(I)预期的那样工作。不知何故,最后一个添加到实体集合的对象没有被添加。事实上,如果我打印前后的长度,我得到的是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方法来覆盖此