在我的应用中,用户的个人资料中有一个开始和结束属性(两个日期对象,相隔几个小时)。我想让我的应用程序对这些值做出反应 - 例如,如果当前时间介于两次之间,或者在开始时间的15分钟内,则显示一些内容。我有一种感觉,我想要使用Tracker.autorun的Meteor,我不知道如何使用它,因为你没有手动改变时间,它总是在变化。
类似的东西:
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;}
})
}
答案 0 :(得分: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
。如果没有,请告诉我,我会提出一些其他想法。