如何在ember.js中调用不同的控制器方法?

时间:2015-03-26 19:16:36

标签: javascript ember.js

在另一个控制器内部,我得到如下的应用程序控制器(因为它是根据需要定义的):

appCtrl = this.get('controllers.application');

访问或设置属性可以正常工作,例如

appCtrl.set("property", true);

会触发已注册的听众。

但是我无法调用应用程序控制器的方法,例如假设在应用程序控制器中存在函数x。然后以下调用失败,因为appCtrl不包含函数x:

appCtrl.x();

我还尝试将x定义为应用程序控制器中的一个动作,并从外部触发如下:

appCtrl.send("x");

这也行不通。

我应该如何从另一个控制器调用应用程序控制器的功能?

1 个答案:

答案 0 :(得分:1)

我尝试了一些简单的事情,似乎没有问题。这是一个JSbin:

http://emberjs.jsbin.com/borejamufo/3/edit?html,js,console,output