2013-12-23 110 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

我正在寻找简单的答案,我发现它谢谢... –

相关问题