我一直在试用带有rails的主干JS,并且非常喜欢它组织前端的方式。我已经实现了类似于https://gist.github.com/705733
的分页解决方案我只是想知道集合的作用是什么以及如何使用分页结果。目前,似乎当我从数据库中获取新对象时,它们会覆盖当前集合中的内容。但是,我可以使用{add:true}添加到当前集合。这将使分页更加困难。那缓存结果怎么样?我应该为每个页面创建一个新的集合吗?
如果有人这样做或者知道怎么做,那将会有很大的帮助。
答案 0 :(得分:11)
如果您的目标是查询&在请求页面时显示项目,您可以执行类似(伪代码)的操作:
pages = {}
// when page N is needed
function fetch_page(n) {
if (!pages[n]) {
pages[n] = new ItemsCollection({page: n})
pages[n].fetch();
}
}
因此,您要为每个页面保留一个集合。
如果您还需要收集到目前为止所提取的所有项目,请保留一个 - 并在每次从服务器获取时将添加的项目添加到其中。