有一个 id 的数组
['tom','tim','joe','matt','scott']
每个模型都有一个带有 id 的属性。
我怎样才能抓住所有 5 个模型并放入一个新系列?
有一个 id 的数组
['tom','tim','joe','matt','scott']
每个模型都有一个带有 id 的属性。
我怎样才能抓住所有 5 个模型并放入一个新系列?
在相应的集合上使用下划线过滤方法怎么样?
var ids = ['tom','tim','joe','matt','scott'];
var matches = collection.filter(function (model) {
return ids.indexOf(model.id) > -1;
});
如果您需要fetch
来自持久层的模型,您可以考虑使用id
属性集生成模型集合并提供适当的端点来填充其他属性:
var MyCollection = Backbone.Collection.extend({
model: MyModel, // whatever your model is
url: '/byname' // whatever the endpoint is
});
var models = [];
_.each(ids, function (id) {
models.push({ id: id });
});
var collection = new MyCollection;
collection.fetch({ models: models }); // fetch the associated models
无论您提供什么端点(/byname
在上面的示例中),都应该准备好生成一个集合,该集合包含每个模型的 id 在models
参数中指定。