我正在尝试实现以下简单用例:让 ember 模板定期显示当前时间。我找到了一种方法,但我怀疑有更好/更简单的方法。这是我所做的:
在我的控制器中,我有一个dirtyFlag 属性。我用它作为触发观察者通知的技巧(因此是我的模板)。
当应用程序准备就绪时,我启动一个计时器来定期更改dirtyFlag 属性的值。
我想避免使用 dirtyFlag 属性,本质上我想知道是否有一种方法可以表达类似currentTime 计算属性上的所有观察者应该更新并获取此属性的新值。
var App = Ember.Application.create({
ready: function() {
setInterval(function() {
console.info("Updating clock (" + new Date() + ")");
App.theClockController.set('dirtyFlag', new Date());
}, 1000)
}
});
App.ClockController = Ember.ObjectController.extend({
dirtyFlag: null,
currentTime: function() {
return new Date();
}.property('dirtyFlag')
});