项目使用的Extjs4.2,最近打算修改成动态加载controller的模式,结果出了这么一个问题查找了好久才找到解决方法。
首先描述下问题:
动态加载controller的模式实现如下:
MyApp.getController(menu.MenuCtrl);//里面是我的controller名称
这是修改后的,修改前的如下:
MyApp.getController(menu.MenuCtrl).init();//后面还有一个init()
其他版本是否如此,lz不清楚,所以这里仅供参考。
getController: function(name) {
var me = this,
controllers = me.controllers,
className, controller;
controller = controllers.get(name);
if (!controller) {
className = me.getModuleClassName(name, 'controller');
controller = Ext.create(className, {
application: me,
id: name
});
controllers.add(controller);
<span style="white-space:pre"></span> //此处init过了
if (me._initialized) {
controller.doInit(me);
}
}
return controller;
},