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