Backbone:使用ID数组获取模型并保存

时间:2013-10-24 00:39:04

标签: backbone.js

所以我有一系列ID:

var myIDs = [1,5,9];

我有一个我想搜索的集合,并从中获取。我以为我可以做以下事情:

var searchResults = myCollection.where({"uID" : myIDs});

当然这不起作用,但必须有办法实现类似的东西。

获得所选模型后,计划是编辑内容,然后保存。我是否正确假设我可以通过执行以下操作来保存整批产品?

myCollection.reset(searchResults);

显然,对于Backbone,我总计n00b。

1 个答案:

答案 0 :(得分:2)

您可以使用Collection.filter将每个项目与数组进行比较:

var searchResults = myCollection.filter(function(model) { 
    return myIDs.indexOf(model.id) != -1;
});

(“Where”就像“filter”的特例,带有特定的迭代器 - 它将每个模型的属性与您提供的哈希集进行比较。)

至于保存,如果您的意思是替换集合中的项目,那么是的,您可以使用reset。 (请注意,Backbone术语中的“保存”通常意味着将模型更新同步回服务器。)