我刚刚意识到 ExtJS 4.2.1 中控制器的备用类名不能按我预期的方式工作:
Ext.define('AppName.controller.subnamespace.Controller1', {
extend: 'Ext.app.Controller',
alternateClassName: 'AppName.Ctrl1',
// ...
});
使用应用程序(或任何控制器)的 getController 方法访问控制器适用于两个名称(长名称和备用名称),但返回控制器的 2 个不同实例:
var ctrlInstance1 = AppName.app.getController('AppName.controller.subnamespace.Controller1'),
ctrlInstance2 = AppName.app.getController('AppName.Ctrl1');
console.log(ctrlInstance1 === ctrlInstance2); // --> false
这是预期的行为还是错误?如果它是一个错误,我将提交一个错误报告......
谢谢
Ps.:我也在官方煎茶论坛上问过这个问题,但到目前为止没有得到任何回应:http ://www.sencha.com/forum/showthread.php?271970-Alternate-class-name-in -控制器