Meteor 发布/订阅不工作-如何调试?
我正在尝试将我的应用程序从自动发布切换到发布/订阅。在尝试设置“发布/订阅”或“我的第一个收藏”后,收藏中的任何项目都不再显示,我对可能出现的错误感到茫然 有人能在我下面的代码中发现一个错误,或者给出一些关于如何调试这类问题的提示吗 客户端/routes.jsMeteor 发布/订阅不工作-如何调试?,meteor,iron-router,publish-subscribe,Meteor,Iron Router,Publish Subscribe,我正在尝试将我的应用程序从自动发布切换到发布/订阅。在尝试设置“发布/订阅”或“我的第一个收藏”后,收藏中的任何项目都不再显示,我对可能出现的错误感到茫然 有人能在我下面的代码中发现一个错误,或者给出一些关于如何调试这类问题的提示吗 客户端/routes.js Router.route('/slug', { name: 'route.name', title: 'My Page', template: 'TemplateName', subscriptions: function
Router.route('/slug', {
name: 'route.name',
title: 'My Page',
template: 'TemplateName',
subscriptions: function() {
this.subscribe('myPublication');
},
action: function() {
this.render();
}
});
...
Meteor.publish('myPublication', function() {
return MyCollection.find();
});
server/lib/collectionLib.js
Router.route('/slug', {
name: 'route.name',
title: 'My Page',
template: 'TemplateName',
subscriptions: function() {
this.subscribe('myPublication');
},
action: function() {
this.render();
}
});
...
Meteor.publish('myPublication', function() {
return MyCollection.find();
});
client/myCollection/view/myCollection list.html
...
{{#each myCollection}}
...
{{/each}}
...
哦,我现在明白了,除非您正在模板帮助器中执行
MyCollection.find()
,否则您需要在路径中执行此操作:
data: function () {
return MyCollection.find({}).fetch();
}
我错过了该收藏与模板的接触。请参阅此处提供的答案:不幸的是,这并不能解决我的问题。在编写代码时,我遵循了Iron Router的文档,其中没有使用返回:@codejak-实际上这应该可以解决您的问题,您需要一个模板助手或IR的数据方法来访问模板中的数据。