【发布时间】:2014-09-14 05:01:33
【问题描述】:
我的 Meteor 应用显示用户列表以及它显示的每个用户
- 显示用户分数随时间变化的小图表
- 最近的分数
由于用户有不同类型的分数(例如 score1、score2、score3),我允许一组单选按钮选择要显示的分数。
图表是使用 jQuery sparkline 插件绘制的,并且是在“渲染”函数中绘制的
Template.listItem.rendered = function() {
console.log("rendered");
arr = createChartArray(this.data, currentScoreType); // gets the array of scores for the current score type
$(this.find(".itemBodyLeft")).sparkline(arr, {
width:60,
height:35,
lineColor:"#FF2F00",
fillColor:"#fff0dc"
});
};
我正在使用 IronRouter,因为有很多用户,所以我将用户列表限制为 10 个,然后按降序对用户进行排序。
因此您可以将单选按钮视为选择“order by”条件。
现在,每次我选择不同的单选按钮时,看起来现有模板都没有刷新(Meteor 是否“重新使用”现有模板,因为它已经存在?)。
当我第一次运行我的应用程序时,我可以看到“渲染”被打印了 10 次。但如果我选择不同的乐谱类型,我现在只能看到 6 条“渲染”消息,那是因为其中 4 个模板已经存在。所以图表没有更新。
如何强制重新渲染模板?或者有更好的方法吗?
【问题讨论】:
标签: javascript meteor