2013-12-23 36 views
1
var collection = new Backbone.Collection([ 
    {key:1,name: "Tim", age: 5}, 
    {key:2,name: "Ida", age: 26}, 
    {key:3,name: "Rob", age: 55} 
]); 

我要去添加模型如何將模型添加到集合而不重複?

{key:4,name: "Rob", age: 55} 

在這裏,因爲關鍵是不同的,骨幹不會給一個錯誤。在添加之前如何檢查集合中的現有模型?

回答

3

Backbone模型具有idAttribute(http://backbonejs.org/#Model-idAttribute)的概念,用於在添加到集合時進行重複檢查。

這可能不適合你,因爲它似乎是你的idAttribute是'關鍵',它不斷增加。

相反,你可以在代碼中通過檢查:

var newModel = {key:4,name: "Rob", age: 55}; 

var similarModel = collection.findWhere({name: newModel.name, age: newModel.age}); 

if(!similarModel) { 
    //add to collection 
} 
+1

['findWhere'(http://backbonejs.org/#Collection-findWhere)可能更方便這裏比'find'。 –

+0

我正在尋找簡單的答案,我發現它謝謝... –

相關問題