【问题标题】:Counter-Up not increasing int in Meteor applicationCounter-Up 在 Meteor 应用程序中不增加 int
【发布时间】:2015-01-17 07:48:03
【问题描述】:

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

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

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

这是我渲染的函数:

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

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

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

【问题讨论】:

    标签: javascript meteor


    【解决方案1】:

    试试这个:

    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

    【讨论】:

      【解决方案2】:

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

      以下是我启动 ddp 以通过网络获取数据的操作。

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-21
        • 2017-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-10
        • 2014-03-27
        • 2012-06-16
        相关资源
        最近更新 更多