Counter-Up 不会在 Meteor 应用程序中增加 int

Counter-Up not increasing int in Meteor application

我正在为我的 Meteor 应用程序使用 Counter-Up 插件。 在首次加载站点时它工作正常,但实时更改似乎存在问题。

我想显示在我的网络应用程序中创建的游戏总数,所以我有这个助手:

totalGames: function () {
     return Games.find().count();
}

这是我渲染的函数:

Template.home.rendered = function () {
    $('.counter').counterUp({
        delay: 10,
        time: 500
    });
};

现在的问题是,由于反应性,计数器没有增加。因此,如果用户 A 在主站点上看到编号为 1 的计数器,并且突然创建了一个新游戏,则该编号变为 12 而不是2.

我该如何解决这个问题? 任何帮助将不胜感激。

当我得到这种行为时,我 运行 这个。我也 运行 遇到随机性问题。延迟是由于您浏览器上的 minimongo 没有从 mongodb 获得正确的缓存造成的。

以下是我启动 ddp 以通过线路获取数据所做的事情。

1) 我关闭了终端。这应该有 0 影响,但有时事情会挂断。就试一试吧。

2) rm -rf ~/[项目名称].meteor/local/.mirror

3) 仔细检查我是否保存了更改。

试一试:

Template.home.rendered = function() {
  this.autorun(function() {
    if (Template.currentData() && Games.find().count())
      $('.counter').counterUp({delay: 10, time: 500});
  });
};

理论上,这应该在 Games 计数发生变化时重新运行 counterUp 初始化。 Template.currentData 业务只是使 autorunrendered 内部工作的黑客攻击 - 请参阅我的相关答案 here.