的問題是太大。但我可以建議與此合作的一小步。您的拍賣計劃需要有一個endDateTime
來存儲價值(即使它將在週日開始/結束)。在你需要顯示的定時器模板,設置一個ReactiveVar
爲數字(倒計時),一個ReactiveVar
爲字符串(顯示導致)
Template['countDownTemplate'].created = function() {
var due, dueDate, duration, now, num, self;
self = this;
dueDate = Template.instance().data['auction']['endDateTime'];
now = moment.utc();
due = moment.utc(dueDate, 'YYYY-MM-DD hh:mm:ss');
duration = moment.duration(due.diff(now));
num = Math.floor(duration.asSeconds());
if (num >= 0) {
self['remaining'] = new ReactiveVar<number>(num);
self['timeRemaining'] = new ReactiveVar<string>(convertPeriod(num));
self['interval'] = Meteor.setInterval((function() {
var remaining;
remaining = self['remaining'].get();
self['remaining'].set(remaining - 1);
self['timeRemaining'].set(convertPeriod(self['remaining'].get()));
if (remaining === 0) {
Meteor.clearInterval(self['interval']);
} else {
remaining = Math.floor(moment.duration(due.diff(now)).asSeconds());
}
}), 1000);
}
};
(該convertPeriod
將立足於remaining
數轉換到您正確的格式)
剩下的只是如何顯示與convertPeriod
什麼是定時器單元的正確格式
timeRemaining
?每天,小時,分鐘,秒?數據是否需要反應? –日,時,分,秒會很好。我不確定你是什麼意思的反應。計時器將於星期日開始,並於星期日結束,然後重新開始。 – bp123
你需要對你的想法更具體。需要顯示哪些數據?單位是什麼?因爲基於單位,代碼可以改變。此外,數據是否需要顯示或只是爲了保存到mongo? –