我可以每 1000 毫秒执行一次计算函数,以在我的 UI 中每 1000 毫秒显示一个新的时间跨度值吗?
self.timespan = ko.computed(function() {
return self.orderTime() + " " + new Date();
});
我可以每 1000 毫秒执行一次计算函数,以在我的 UI 中每 1000 毫秒显示一个新的时间跨度值吗?
self.timespan = ko.computed(function() {
return self.orderTime() + " " + new Date();
});
将你包装new Date()
在一个可观察的计时器中,并使用每 1000 毫秒更新一次setInterval
,例如:
function myViewModel() {
var self = this;
self.orderTime = ko.observable(new Date(2013,1,1,12,0,0));
self.timer = ko.observable(new Date());
self.timespan = ko.computed(function() {
return self.orderTime() + " " + self.timer();
});
window.setInterval(function() { self.timer(new Date()); }, 1000);
}
ko.applyBindings(new myViewModel());
如果您愿意,您也可以始终将timer
可观察对象设为 ViewModel 范围内的私有对象,具体取决于您是否要直接公开它。
请参阅此小提琴以进行演示。