0

在我的应用程序中,用户的个人资料中有一个开始和结束属性(两个日期对象,相隔几个小时)。我想让我的应用程序对这些值做出反应——例如,如果当前时间在两个时间之间,或者在开始时间的 15 分钟内,则显示一些内容。我有一种感觉,我想使用 Meteor 的 Tracker.autorun 片段,我不知道如何使用它,因为你永远不会手动更改时间,它总是在变化。

像这样的东西:

timeDif : function() {
    Tracker.autorun(function() {
        var m1 = moment();
        var m2 = moment(Meteor.user().profile.time);
        var difMin = m1.diff(m2, 'minutes');
        if(difMin > 10)  {foo;}
        else {bar;}
    })

}
4

1 回答 1

1

正如您发现的那样,这不起作用,因为Date对象不是反应性的。看看像chronos pacakge 这样的东西,它为反应日期提供了各种帮助。根据文档,看起来像这样的东西可以工作:

timeDiff : function() {
  var m1 = Chronos.liveMoment();
  var m2 = moment(Meteor.user().profile.time);
  var minutes = m1.diff(m2, 'minutes');
  ...
}

我假设这timeDiff是一个助手,所以你不需要autorun. 如果没有,请告诉我,我会给出一些其他的想法。

于 2015-11-24T20:04:09.177 回答