2015-06-20 50 views
1

夥計。我在我的Meteor應用中使用alethes:pages進行分頁,我需要使用現有訂閱來控制它顯示的數據。看起來它的工作方式是它只是對一個集合中的所有記錄進行分頁,而不是我想要顯示的特定內容。使用alethes進行分頁:使用訂閱的頁面

我已經走到這一步,是這樣的,定義分頁代碼:

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

添加字段鍵,如下所示。

BrowsePages = new Meteor.Pagination(Mods, { 

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

});