Alethes分页:使用订阅的页面

时间:2015-06-20 03:06:10

标签: javascript node.js meteor pagination

人。我在Meteor应用程序中使用alethes:pages分页,我需要使用现有订阅来控制它显示的数据。似乎它的工作方式是它只是对一个集合中的所有记录进行分页,而不是我想要显示的特定内容。

到目前为止,我所获得的代码看起来像这样,定义了分页:

BrowsePages = new Meteor.Pagination(Mods, {
    perPage: 15,
    sort: {
        createdAt: -1
    },
    templateName: "browseModsList",
    itemTemplate: "browseModItem",
    table: {
        fields: ["name", "category", "createdAt"],
        header: ["Name", "Author", "Category", "Date Added", "Rating", "Current Version"],
        class: "table table-striped"
    },
    divWrapper: false,
    auth: function(skip, sub) {
        var theCat = Categories.findOne({slug: Router.current().params.slug});
        return Mods.find({category: theCat._id});
    }
});

我假设它会将分页数据限制为我通过auth返回的光标,但它现在只是挂着一个微调器。

我很困惑,任何能够对此有所了解的人都会很棒。我希望在分页上强制执行相同的限制(不知何故),我只是不知道该怎么做。

以下是更相关的代码:

路线:

// Browse
Router.route('/browse/:slug', function() {
    this.render('browseModsList');
}, {
    name: 'browse',
    waitOn: function() {
        return [
            Subs.subscribe('catMods', this.params.slug)
        ]
    }
});

公开

Meteor.publish('catMods', function(tag) {
    var category = Categories.findOne({slug: tag});
    if (category) {
        var catId = category._id;
        return Mods.find({category: catId});
    } else {
        return this.ready();
    }
});

提前感谢您提供任何帮助,像往常一样!

1 个答案:

答案 0 :(得分:0)

添加字段键,如下所示。

BrowsePages = new Meteor.Pagination(Mods, {

    perPage: 15,
    fields: {name: 1, category:1, createdAt:1},

});