次の簡単なユースケースを実装しようとしています。残り火のテンプレートに現在の時刻を定期的に表示させます。私はそれを行う方法を見つけましたが、より良い/より簡単な方法があるのではないかと思います。これが私がすることです:
私のコントローラーには、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')
});