Backbone.js 获取集合时触发移除事件

Backbone.js 获取集合时触发移除事件,backbone.js,backbone-relational,Backbone.js,Backbone Relational,我认为这是一种奇怪的行为。我有两个“section”实例。每个人都有一个练习集。然后,我对每个集合进行一次提取,问题就在这里。我可以从服务器接收一些模型,这些模型可以同时存在于两个集合中。但这不会是一个问题,因为它们是独立的实例 型号: class App.Models.Section extends Backbone.RelationalModel relations: [ { type: Backbone.HasMany key: 'exercises'

我认为这是一种奇怪的行为。我有两个“section”实例。每个人都有一个练习集。然后,我对每个集合进行一次提取,问题就在这里。我可以从服务器接收一些模型,这些模型可以同时存在于两个集合中。但这不会是一个问题,因为它们是独立的实例

型号:

class App.Models.Section extends Backbone.RelationalModel

  relations: [
    {
      type: Backbone.HasMany
      key: 'exercises'
      relatedModel: 'App.Models.Exercise'
      collectionType: 'App.Collections.Exercises'
      reverseRelation:
        key: 'section'
        includeInJSON: false
    }
  ]
视图:

两个例子:

section1 = new App.Models.Section
section2 = new App.Models.Section
获取两个练习集:

section1.get('exercises').fetch({ data: params, remove:false })
section2.get('exercises').fetch({ data: params, remove:false })
我撒谎了,这是我的骨气问题。集合第一次收到它们的模型,我为每个模型生成了一个视图(一个事件“add”,所以我呈现了练习视图)。但接下来,由于一些我不理解的原因,主干触发了一个删除事件,并删除了所有重复的模型。在简历中,只有我可以在其他集合中拥有其模型不在其他集合中的集合

编辑


我已经确定了问题所在。问题是ID是重复的。如果我手动更改他们的ID,那么一切正常。但除此之外,它不能做到这一点。但我认为这没有意义,因为我列举了两个不同的部分。每个部分都有自己的带有练习ID的数组。

最后,我刚刚从我的项目中删除了主干关系。

这更像是主干关系问题,如果您将'remove'选项设置为
false
,主干将永远不会调用
remove()
。这是废话。
section1.get('exercises').fetch({ data: params, remove:false })
section2.get('exercises').fetch({ data: params, remove:false })