【发布时间】:2015-12-25 19:37:41
【问题描述】:
我正在阅读“发现流星”一书,但遇到了一个难以解决的问题。我的问题是,Meteor 如何知道如何激活要订阅的出版物?
这是我的 Publications.js 服务器端
Meteor.publish('posts', function(limit){
return Posts.find({}, {sort: {submitted: -1}, limit: limit});
});
Meteor.publish('newPosts', function(limit) {
return Posts.find({}, {sort: {submitted: -1}, limit: limit});
});
Meteor.publish('bestPosts', function(limit) {
return Posts.find({}, {sort: {votes: -1, submitted: -1}, limit: limit});
});
Meteor.publish('singlePost', function(id) {
return id && Posts.find(id);
});
Meteor.publish('comments', function(postId) {
return Comments.find({postId: postId});
});
Meteor.publish('notifications', function() {
return Notifications.find({userId: this.userId});
});
然后是位于 main.js 中的订阅
newPostsHandle = Meteor.subscribeWithPagination('newPosts', 10);
bestPostsHandle = Meteor.subscribeWithPagination('bestPosts', 10);
postHandle = Meteor.subscribeWithPagination('posts', 10);
Deps.autorun(function() {
Meteor.subscribe('comments', Session.get('currentPostId'));
})
Meteor.subscribe('notifications');
那么流星如何知道哪些订阅是必要的?无论我在应用程序的哪个位置,我都订阅了每个订阅吗?我认为路由器在起作用,但我不知道我是否清楚地看到路由器在做什么来管理订阅?
【问题讨论】:
-
你删除包
autopublish了吗?
标签: javascript meteor