使用Iron路由器和Pagination.collection()为流星应用设置简单的分页?

时间:2015-05-03 17:58:01

标签: meteor pagination iron-router

您好我有一个简单的应用程序列出帖子,我正在努力使用铁路由器和流星分页添加一个简单的分页:https://github.com/egtann/meteor-pagination

我的 index.js

中有以下内容
if (Meteor.isClient) {
    Template.index.helpers({

        posts: function () {
            return Posts.find({}, {sort: {voteResult: -1}});
        },
}

因此,要在我的 index.html 中显示我正在使用{{#each posts}}的帖子,请执行以下操作:

      <template name="index">
            <ul>
            {{#each posts}}
                <li>
                   {{text}}
                </li>
            {{/each}}       
            </ul>
<!-- pagination BOOTSTRAP CSS -->
    <!--    <div class="text-center">
            <ul class="pagination_bis">
              <li>
                <a href="#" aria-label="Previous">
                  <span aria-hidden="true">&laquo;</span>
                </a>
              </li>
              <li class="active_bis"><a href="#">1</a></li>
              <li><a href="#">2</a></li>
              <li><a href="#">3</a></li>
              <li><a href="#">4</a></li>
              <li><a href="#">5</a></li>
              <li>
                <a href="#" aria-label="Next">
                  <span aria-hidden="true">&raquo;</span>
                </a>
              </li>
            </ul>
        </div> -->
        </template>

这是我的 route.js

Router.configure({
    loadingTemplate: 'loading',
    notFoundTemplate: 'notFound',
    layoutTemplate: 'layout'
});

Router.route('/', function() {
    this.render('index');
});

我的问题:

  • 如何在routes.js(铁路由器)中定义我的路由以进行简单的分页?
  • 如何使用Meteor Pagination(上面提供的链接)使用帮助器在index.js中使用路由,以便它只返回基于perPage的有限数量的帖子?
  • 如何将此逻辑连接到视图(index.html)?

我试图按照上面提供的链接示例,但我很困惑,他们使用的Meteor版本已被弃用。毋庸置疑,我是Meteor的新手,每一个输入都得到了真正的赞赏。为了您的信息,应用程序事件工作正常,我设法保存和删除帖子,有超过30个帖子创建用于测试分页。感谢。

2 个答案:

答案 0 :(得分:1)

我不会使用不再维护的软件包(egtann:meteor-pagination的最后一次提交是2年前)。

而只是尝试alethes:pagesGitHub project)。似乎也有相当好的记录。

至于路由器。您可能必须使用网址参数(如果您想通过网址直接访问特定网页 - 例如第5页的/posts/5/):

Router.route('/posts/:page', function () {
  var pageId = this.params.page;
  ...
});

答案 1 :(得分:1)

这是了解动态路线以及如何在Meteor中为您的路线使用数据的绝佳资源,适合初学者:http://meteortips.com/tutorial/iron-router-part-2/