Javascript Meteor酒吧/酒吧不工作
这是触发订阅的路由Javascript Meteor酒吧/酒吧不工作,javascript,meteor,Javascript,Meteor,这是触发订阅的路由 Router.route('listView', { path: '/', template: 'listViewTemplate', waitOn: function(){ Meteor.subscribe('lists'); } }); 我的发布方法 Meteor.publish('lists', function(){ return listCollecti
Router.route('listView', {
path: '/',
template: 'listViewTemplate',
waitOn: function(){
Meteor.subscribe('lists');
}
});
我的发布方法
Meteor.publish('lists', function(){
return listCollection.find();
});
以及将它们渲染到视图的模板
<template name='listViewTemplate'>
<ul class='listViewList'>
<li class='listViewEntry'>
{{#each listCollection}}
<b>{{title}}</b>, {{description}}
{{/each}}
</li>
</ul>
</template>
-
{{#每个列表集合}
{{title}}、{{description}
{{/每个}}
当我通过命令行输入记录时,什么也不会发生,但是
collection.find().fetch()
确保它们被持久化。我希望您也添加了一个帮助程序:
Template.listViewTemplate.helpers({
listCollection: function() {
return listCollection.find();
}
});
另外,不要忘记在waitOn上返回一个值:
waitOn: function(){
return Meteor.subscribe('lists');
}
使用waitOn
时,您还需要一个loadingTemplate
<template name="loading">Loading</template>
如果您得到的是一个空白屏幕或其他内容,则可能值得查看浏览器中的Javascript错误日志,以了解问题所在。因此,即使在发布/订阅时,也必须使用模板帮助器?是-您需要添加模板帮助器,或者需要从路由中分配数据上下文。
Router.route('listView', {
path: '/',
template: 'listViewTemplate',
waitOn: function(){
return Meteor.subscribe('lists');
},
loadingTemplate: 'loading'
});