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'
});