【问题标题】:Publish/subscribe not working - how to debug?发布/订阅不起作用 - 如何调试?
【发布时间】:2016-02-10 17:57:05
【问题描述】:

我正在尝试将我的应用从自动发布切换到发布/订阅。在尝试设置发布/订阅或我的第一个集合后,我的集合中的所有项目都不再显示,我不知道可能出了什么问题。

有人能在我下面的代码中发现一个错误,或者就如何调试此类问题提供任何提示吗?

client/routes.js

Router.route('/slug', {
  name: 'route.name',
  title: 'My Page',
  template: 'TemplateName',
  subscriptions: function() {
    this.subscribe('myPublication');
  },
  action: function() {
    this.render();
  }
});

server/lib/collectionLib.js

...
Meteor.publish('myPublication', function() {
  return MyCollection.find();
});

client/myCollection/view/mycollection-list.html

...
{{#each myCollection}}
    ...
{{/each}}
...

【问题讨论】:

    标签: meteor iron-router publish-subscribe


    【解决方案1】:

    我错过了集合对模板的曝光。请参阅此处提供的答案:https://forums.meteor.com/t/publish-subscribe-not-working-how-to-debug/13127/6?u=codejak

    【讨论】:

      【解决方案2】:

      哦,我现在明白了,除非您在模板助手中执行 MyCollection.find(),否则您需要在路由中执行:

      data: function () {
        return MyCollection.find({}).fetch();
      }
      

      【讨论】:

      • 不幸的是,这并不能解决我的问题。我在编写代码时遵循 Iron Router 的文档,其中没有使用返回:iron-meteor.github.io/iron-router/#route-specific-options
      • @codejak - 实际上应该可以解决您的问题,您需要一个模板助手或 IR 的数据方法来访问模板中的数据。
      猜你喜欢
      • 1970-01-01
      • 2018-12-18
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 2015-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多