Backbone JS Pagination

时间:2011-10-23 08:15:25

标签: backbone.js

我一直在试用带有rails的主干JS,并且非常喜欢它组织前端的方式。我已经实现了类似于https://gist.github.com/705733

的分页解决方案

我只是想知道集合的作用是什么以及如何使用分页结果。目前,似乎当我从数据库中获取新对象时,它们会覆盖当前集合中的内容。但是,我可以使用{add:true}添加到当前集合。这将使分页更加困难。那缓存结果怎么样?我应该为每个页面创建一个新的集合吗?

如果有人这样做或者知道怎么做,那将会有很大的帮助。

1 个答案:

答案 0 :(得分:11)

如果您的目标是查询&在请求页面时显示项目,您可以执行类似(伪代码)的操作:

pages = {}


// when page N is needed
function fetch_page(n) {
 if (!pages[n]) {
    pages[n] = new ItemsCollection({page: n})
    pages[n].fetch();
 }     
}

因此,您要为每个页面保留一个集合。

如果您还需要收集到目前为止所提取的所有项目,请保留一个 - 并在每次从服务器获取时将添加的项目添加到其中。