在另一个控制器内,我得到如下的应用程序控制器(根据需要定义):
appCtrl = this.get('controllers.application');
访问或设置属性可以正常工作,例如
appCtrl.set("property", true);
将触发注册的侦听器。
但是我无法调用应用程序控制器的方法,例如假设应用程序控制器中存在函数x。然后以下调用失败,因为appCtrl不包含函数x:
appCtrl.x();
我还尝试将x定义为应用程序控制器中的一个动作,并从外部进行触发,如下所示:
appCtrl.send("x");
这也没有用。
我应该如何从另一个控制器调用应用程序控制器的功能?
最佳答案
我尝试了一些简单的方法,似乎没有问题。这是一个JSbin:
http://emberjs.jsbin.com/borejamufo/3/edit?html,js,console,output