【问题标题】:Backbone JS Pagination骨干 JS 分页
【发布时间】:2011-10-24 19:22:49
【问题描述】:

我一直在尝试使用 rails 的主干 JS,并且非常喜欢它组织前端的方式。我已经实现了一个类似于这里的分页解决方案https://gist.github.com/705733

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

如果有人做过这件事或知道如何去做,那将有很大帮助。

【问题讨论】:

    标签: backbone.js


    【解决方案1】:

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

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

    所以你为每个页面保留一个集合。

    如果您还需要到目前为止获取的所有项目的集合,只需保留一个 - 并在每次从服务器获取获取的项目时添加它们。

    【讨论】:

    • 嘿,谢谢 dira,我最终将它们添加到一个集合中,并使用下划线获取基于每页的最后 (n) 个元素。工作一种享受!
    • seogrady - 我知道这是旧消息,但你能发布你的代码吗?
    猜你喜欢
    • 2011-10-18
    • 2017-02-17
    • 2012-06-03
    • 1970-01-01
    • 2013-10-14
    • 2011-11-26
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多