2012-05-19 156 views
10

眼下之间的另一个控制器/共享数据的功能,当我在一个控制器和我想从另一个控制器调用一个函数,我这样做:呼叫控制器从控制器

App.app.getControllerInstances()['App.controller.OtherController'].do_something(); 

是似乎对我来说有点沉重,是否有另一种(更好的)方式来做到这一点?如果你在你的控制器(在某些对象的回调函数为例)上下文不是this.getApplication().getController('ControllerName').doSomething();

回答

7

当使用煎茶触摸2 MVC的约定,我会建议试图调用一个叫做从内部“ControllerA” ControllerB'SomeMethodInB“方法时,以下几点:

MyAppName。 app.getController( 'ControllerB')。

'MyAppName'是您在核心应用程序定义中定义的应用程序的名称 - 通常位于您的app.js文件中。

按照煎茶论坛,下面的折旧:

this.getApplication()getController( 'ControllerB')SomeMethodInB();

http://www.sencha.com/forum/showthread.php?158996

其实我可以调用“this.getApplication()”方法,甚至工作从我的应用程序定义文件(app.js)调用它时的唯一途径。