1

我有一个骨干设施集合。与该集合关联的模型是一个以 FacilityCode 作为模型 ID 属性的 Facility。

现在我有一个数组中的 FacilityCode 列表。是否有任何简单的方法可以创建一个包含在该数组中具有匹配 FacilityCode 的所有模型的集合?

我可以使用 collection.get(id) 函数来一一获取模型。但我正在寻找一个函数,我可以将一组 ID 传递给该函数,该数组将返回匹配模型的集合。

4

1 回答 1

3

过滤器对这类事情很有用。如果您愿意,可以将它很好地包装在您的集合对象的定义中:

Facilities = Backbone.Collection.extend({

    // ...

    getAllForCodes: function(facilityCodes) {
        var models = this.filter(function(facility) {
            return (_.indexOf(facilityCodes, facility.get('FacilityCode')) !== -1);
        }); 
        return new Facilities(models);
    }

});

...并使用它来获取一系列设施代码的所有设施:

var myFacilities = facilities.getAllForCodes([1, 2, 3]);
于 2013-08-27T03:50:33.283 回答