繁体   English   中英

流星发布/订阅无效

[英]Meteor pub/sub not working

这是我触发订阅的路线

   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>

当我通过命令行输入记录时,什么也没发生,但是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>

并将loadingTemplate定义添加到路由中:

Router.route('listView', {
    path: '/',
    template: 'listViewTemplate',
    waitOn: function(){
        return Meteor.subscribe('lists');
    },
    loadingTemplate: 'loading'
});

如果出现黑屏或其他问题,可能值得在浏览器中查看Javascript错误日志以查看问题所在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM