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
业务只是使 autorun
在 rendered
内部工作的黑客攻击 - 请参阅我的相关答案 here.
我正在为我的 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
业务只是使 autorun
在 rendered
内部工作的黑客攻击 - 请参阅我的相关答案 here.