【发布时间】:2013-10-31 22:33:20
【问题描述】:
当我们退出适当的路线时,控制器会发生什么?设置在那里的观察员继续做他们的工作是正确的吗?如果是这样,避免这种情况的正确方法是什么?与setupController相反的一些方法?
【问题讨论】:
标签: ember.js ember-router ember-controllers
当我们退出适当的路线时,控制器会发生什么?设置在那里的观察员继续做他们的工作是正确的吗?如果是这样,避免这种情况的正确方法是什么?与setupController相反的一些方法?
【问题讨论】:
标签: ember.js ember-router ember-controllers
是的,观察者仍然存在,我通常对观察者观察另一个可能在另一个屏幕中更改的属性所做的事情是,我在激活/停用路由的挂钩中手动设置/删除它们,如下所示:
var controllerWhereThePropertyToObserveIs = this.controllerFor('fancyController');
controllerWhereThePropertyToObserveIs.addObserver('propertyToObserveForChanges', this.controllerFor('controllerWhereTheObserverWouldBe'), 'functionToFire');
然后,删除它:
var controllerWhereThePropertyToObserveIs = this.controllerFor('fancyController');
controllerWhereThePropertyToObserveIs.removeObserver('propertyToObserveForChanges', this.controllerFor('controllerWhereTheObserverWouldBe'), 'functionToFire');
【讨论】: