2014-09-03 142 views
2

您可以通過使用collection.get(id)collection獲得model; 但我想要得到多個模型。 get只能獲得1個型號。 我現在使用這段代碼,但它看起來不漂亮或感覺不錯。任何人都知道從集合中選擇一組模型的更好方法?Backbone.js收集多個模型

var models = this.collection.filter(function(model){ 
    return _.indexOf([1,2,3,4], model.get('id')) > -1; 
}); 

回答

3

由於您只需要4個項目,您的代碼會迭代整個集合。

以下代碼通過僅迭代大小爲4的數組而獲得更好的性能。

var models = _.map([1,2,3,4], function(id) { 
    return collection.get(id); 
}); 
+0

ofcourse!反過來:)以陣列爲起點,而不是集合。謝謝! – 2014-09-04 08:51:34