控制器改变Ember模型的事件?

Nat*_*man 6 javascript ember.js

在实例化或为特定路由重新初始化控制器时,是否应该使用事件或挂钩来捕获控制器?

我已经尝试过init()- 但是我的控制器只在应用程序的生命周期中实例化一次,但根据路径支持多种模型.我需要捕获的是当控制器的模型发生变化时,或者在实例化后路由发生变化时的某个时刻.

我也尝试过设置一个计算属性,但它并不合适,因为我需要一个事件来在模型改变时触发一个函数 - 不仅仅是在调用属性时.

非常感谢任何帮助.


编辑:啊哈!我完全看了一下这个事实,我可以设置observes()我的功能,以便在模型更改时触发它.

所以,我的答案是做以下事情:

dependency: function() {
    console.log('the model has changed');

    //...other stuff...
}.observes('model')
Run Code Online (Sandbox Code Playgroud)

Nat*_*man 8

从我的编辑:

啊哈!我完全看了一下这个事实,我可以在我的函数上设置observes(),以便在模型更改时触发它.

所以,我的答案是做以下事情:

dependency: function() {
    console.log('the model has changed');

    //...other stuff... 
}.observes('model')
Run Code Online (Sandbox Code Playgroud)