迭代骨干集合

时间:2014-02-24 14:03:06

标签: java backbone.js

我想根据集合在我的页面上实现分页。 每个页面应该包含20个项目,因此第1页需要迭代前20个模型,第2页需要重复20个项目等等。

在这里阅读了一些问题之后,我发现它可以通过下一个方式完成:

_.each(this.collection.slice(startIndex,startIndex+itemsPerPage),function(item) {
        console.log(item.get("name"));
    });

有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

最简单的方法是使用一个插件,例如https://github.com/backbone-paginator/backbone.paginator,它在客户端提供分页(这是你似乎想要做的),以及服务器端分页。

答案 1 :(得分:0)

我一直在使用this one并且效果非常好:

Backbone.Collection.prototype.partialEach = function partialEach(offset, maxItemsPerPage, iterator, context) {
    for (var l = this.length; maxItemsPerPage !== 0 && offset < l; offset++) {
        var model = this.at(offset);
        if(model) {
            iterator.call(context, model, offset, this);
            maxItemsPerPage--;
        }
    }
};