0

適切なルートを終了すると、コントローラーはどうなるでしょうか? そこに設置されたオブザーバーが仕事を続けているというのは正しいですか?もしそうなら、それを避けるための適切な方法は何ですか? setupController と反対の方法はありますか?

4

1 に答える 1

1

はい、オブザーバーはまだ存在します。別の画面で変更される可能性のある別のプロパティを監視するオブザーバーに対して通常行うことは、アクティブ化/非アクティブ化ルートのフックで手動で設定/削除することです。次のようなものです。

var controllerWhereThePropertyToObserveIs = this.controllerFor('fancyController');
controllerWhereThePropertyToObserveIs.addObserver('propertyToObserveForChanges', this.controllerFor('controllerWhereTheObserverWouldBe'), 'functionToFire');

次に、それを削除するには:

var controllerWhereThePropertyToObserveIs = this.controllerFor('fancyController');
controllerWhereThePropertyToObserveIs.removeObserver('propertyToObserveForChanges', this.controllerFor('controllerWhereTheObserverWouldBe'), 'functionToFire');
于 2013-10-31T23:40:30.847 に答える