【问题标题】:meteor subscription/Publish + helper best practice流星订阅/发布+助手最佳实践
【发布时间】:2014-05-09 05:50:46
【问题描述】:

我有一个应用程序,我想在其中显示我在其中一个集合中拥有的元素的计数器。 为此,我使用了我在 HTML 文件中调用的助手 {{nbPosts}}

UI.registerHelper('nbPosts', function () {
return Posts.find().count();
});

但要显示它,我需要订阅整个 Posts 集合。 对我来说似乎不对,有什么建议可以在不发送整个集合的情况下以更好的方式做到这一点?

谢谢,

【问题讨论】:

  • 您可以只发布计数,就像我在回答 this question 关于用户时所做的那样。

标签: meteor meteorite


【解决方案1】:

这取决于您是否需要它来响应式更新数据(我认为这不是最好的主意)。如果反应性不重要,您可以只使用服务器方法,所以

Meteor.methods({
  'nbPosts': function () {
    return Posts.find().count();
  },
});

如果您需要反应性,您可以实现自定义 publish 方法,就像在 this 示例中一样。请记住,这在服务器使用方面会更加昂贵,因此效率也会低得多。

【讨论】:

    【解决方案2】:

    最简单的方法是创建一个仅跟踪帖子数量的集合,并在插入或删除帖子时更新它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-04
      • 2018-04-19
      • 1970-01-01
      • 2023-04-08
      • 2014-06-16
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多