0

所以我有一个 ID 数组:

var myIDs = [1,5,9];

我有一个我想搜索并从中挑选的集合。我想我可以做如下的事情:

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

当然那是行不通的,但必须有一种方法来实现类似的东西。

一旦我选择了模型,计划是编辑内容,然后保存。我是否正确假设我可以通过执行以下操作来保存整个批次?

myCollection.reset(searchResults);

显然,我对 Backbone 来说完全是 n00b。

4

1 回答 1

2

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

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

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

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

于 2013-10-24T00:43:42.540 回答