簡體   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