backbone.js - 如何在不复制的情况下将模型添加到集合中?

标签 backbone.js backbone.js-collections

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}

这里因为key不同,backbone不会报错。在添加之前如何检查集合中的现有模型?

最佳答案

Backbone 模型有一个 idAttribute ( http://backbonejs.org/#Model-idAttribute ) 的概念,用于在添加到集合时进行重复检查。

这可能对您不起作用,因为您的 idAttribute 似乎是不断递增的“关键”。

相反,您可以通过以下方式 checkin 代码:

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

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

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

关于backbone.js - 如何在不复制的情况下将模型添加到集合中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751149/

相关文章:

javascript - Backbone : How to update a collection view when collection changes?

javascript - 主干从模型与集合中获取数据

javascript - "Undefined is not a function"调用 Backbone 集合的获取函数时出错

javascript - 使用 underscore.js 时 innerHTML 'each function' 与 js 文件 'each function'

javascript - 如何使用backbone js下载文件后重定向到其他 View ?

javascript - 带有一组 JSON 对象的 Backbone.js Bootstrap

mysql - 使用 Node js mysql 在 appfog 中应用程序崩溃

javascript - 为 Backbone.Stickit.js 绑定(bind)设置全局 setOptions

backbone.js - Marionette.CompositeView 如何在不使用任何模型的情况下将参数传递给模板

javascript - 在 Backbone 中渲染集合的最佳方法