人。我在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();
}
});
提前感谢您提供任何帮助,像往常一样!
答案 0 :(得分:0)
添加字段键,如下所示。
BrowsePages = new Meteor.Pagination(Mods, {
perPage: 15,
fields: {name: 1, category:1, createdAt:1},
});