我的收藏集获取了一些记录,我只需要显示其中的前 10 条记录。我试过了
this.collection.each(function(){
if (count == 10) break;
//pass model to view
});
不幸的是 break 不适用于 underscore.js 的 each() API 引用这里:how to break the _.each function in underscore.js
我如何编写一个过滤器以仅从集合中提取前 10 个
this.collection.filter();
更新:collection.first(10) 为我获取了过滤列表。但是,我仍然需要将 .each() 链接到该集合以处理集合项。 collection.first() 不允许链。请引用我选择的答案来解决这个问题。
最佳答案
例如
this.collection.first(10)
然后,如果您需要使用每个模型,例如:
var collection = new Backbone.Collection([{id:1}, {id:2}, {id:3}, {id:4}, {id:5}],{model: Backbone.Model});
var newCollection = new Backbone.Collection(collection.first(2));
newCollection.each(function(model){
alert(JSON.stringify(model.toJSON()));
});
参见 jsfiddle . 的 请注意,还有另一种方法可以使用 Underscore chain method如本topic所述.
关于javascript - Backbone.js Collection 过滤器前 10 个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890849/