如何在没有超载的情况下在我的应用中显示日期?

时间:2015-02-22 14:50:08

标签: meteor momentjs

在我的应用程序中,我有帖子,在我的帖子页面中,我使用a minute ago包显示发布日期moment

我正在使用以下代码显示日期

Template.registerHelper("postedTime",function(date){
        return moment(date).fromNow();
 });

和我的HTML

{{#with post}}    
.............
............
{{postedTime date}}
............
............
{{/with}}

我知道这些日期不是被动的。在我的帖子中,我有数百条评论也使用相同的日期格式。

在没有太多负载的情况下更新所有这些时间到客户端浏览器的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

日期本身不具有反应性,因此您需要在助手中包含反应性数据源以强制重新运行。

在此示例中,我们将更新会话变量,该变量将强制每60秒重新评估postedTime的所有实例:

Template.registerHelper('postedTime', function(date) {
  Session.get('timeToRecompute');
  return moment(date).fromNow();
});

setInterval(function() {
  Session.set('timeToRecompute' new Date);
}, 60 * 1000);