3

在我的已完成任务列表中,我使用 Moment.jsfromNow()列出每个任务的相对完成日期。这是任务模型:

Task.Model = function(data) {
   this.id = data.id;
   this.title = ko.observable(data.title);
   this.status = ko.observable(data.status);
   this.completed = ko.observable(moment(data.date_completed).fromNow());
};

相对日期显示,但分钟永远不会更新,除非我刷新。有没有办法更新那个可观察的?

4

1 回答 1

9

您可以有一个跟踪当前时间的 observable,然后根据该时间计算完整的文本:

var now = ko.observable(new Date());
setInterval(function() { now(new Date()); }, 60 * 1000);

var completedText = ko.computed(function()
    moment(data.date_completed).from(now()));
});
于 2013-08-31T22:59:14.207 回答