在模型属性为x

时间:2015-08-26 18:57:06

标签: backbone.js

在骨干内我有一个集合。如果模型具有特定属性值,我想在其中更新模型或模型。

我知道我可以做一些事情

var model = myCollection.where({some_attr:'something'});

其中model成为集合中的子对象。但除此之外,我似乎迷路了。因为没有一个骨干功能似乎在它上面工作。例如,我不能:

model.set({other_attr: 'changed value'});
model.save();

我只是得到一个未捕获的TypeError。 model.set is not a function

再次举例说明。

总的来说,我想找到模型,更新它,然后将它和它的更改保存到服务器?理念' S?假设我没有可行的ID来使得设置变得更容易,因此为什么我需要做一个地方并且更新那样。

1 个答案:

答案 0 :(得分:0)

声明

var model = myCollection.where({some_attr:'something'});

返回模型数组,而不是单个模型。假设只有一个模型符合您的标准,您可以使用

var model = myCollection.findWhere({some_attr:'something'});

如果您的收藏品可能有多个匹配的模型,那么您需要坚持使用.where,但要遍历数组。