![](/img/trans.png)
[英]How to get Backbone.Collection.remove to remove instance from server?
[英]How to not remove duplicates in collection in backbone
我從服務器JSON創建主干集合。 數據來自mongo,因此每個項目都有相同的對象,主干將刪除這些重復項。 對我來說,這是不想要的行為,所以我找不到解決方案來保留此實例。 提取后,我的物品在secound對象中只有'section1'(id:2)。 我在第一個對象中也需要相同的部分。 例如,我的服務器響應是:
items: [{
id:1,
sections: [{
id: 1.//this object is removed
name: 'section1'
}]
}, {
id: 2,
sections: [{
id:1.
name: 'section1'
}]
}]
我的部分模型是:
Section = Backbone.RelationalModel.extend({
});
和項目模型:
Item = Backbone.RelationalModel.extend({
relations: [
{
'type': 'HasMany',
'key': 'sections',
'relatedModel': 'Section',
'includeInJSON': 'id',
'reverseRelation': {
'key': 'item',
'includeInJSON': 'id'
}
}
]
});
如果我沒記錯的話,這個插件不支持多對多。 因此,發生的事情是將Section 1
附加到第一個Item
,然后將其附加到第二個Item
,並將其從第一個Item
刪除。
實際上,從docs :
Backbone.HasMany
定義一個HasMany關系。 定義reverseRelation時,類型將為HasOne 。
您的選擇:
HasOne
Section
和HasOne
Item
的SectionItem
模型。 有人用這種設置發布了一個小提琴http://jsfiddle.net/mmacaula/XaESG/2/ Section
模型鍵,使每個鍵都唯一。 但是,這不是實現您要完成的操作的好方法。 這是一個很好的參考答案: 使用Backbone-Relational實現多對多關系
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.