現在、データのリストの非同期ロードを行うコントローラーがあります。他のいくつかのコントローラーには、この読み込みがいつ終了したかを観察し、いくつかのモデルをリロードする関数があります。
私のプロジェクトの小さなセットアップ:
App.SyncController = Ember.ObjectController.extend({
finished: false,
init: function() {
var self = this;
$.get('/data', function(data) {
// Process data
self.set('finished', true);
});
}
});
App.OverviewController = Ember.ObjectController.extend({
needs: ['sync'],
finishedSyncingObserver: function() {
// Reload or update some data in this controller
}).observes('controllers.sync.finished')
});
App.DetailController = Ember.ObjectController.extend({
needs: ['sync'],
finishedSyncingObserver: function() {
// Reload or update some data in this controller
}).observes('controllers.sync.finished')
});
この例では、jQuery get が終了したときに両方のオブザーバーが呼び出されています。ただし、オブザーバーが 1 つだけ実行されるように、どのコントローラーがアクティブであるかを確認することは可能ですか?
ありがとう