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

时间:2015-01-16 22:10:48

标签: javascript meteor

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

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

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

这是我的渲染函数:

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

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

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

2 个答案:

答案 0 :(得分:1)

尝试一下:

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

理论上,这应该在counterUp计数发生变化时重新运行Games初始化。 Template.currentData业务仅仅是autorun rendered内部{{1}}的工作 - 请参阅我的相关答案here

答案 1 :(得分:0)

当我遇到这种行为时,我会运行它。我也遇到了随机问题。延迟是由于你的浏览器上没有从mongodb获得正确缓存的minimongo引起的。

我采取以下措施来启动ddp以通过线路获取数据。

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

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

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