Extjs 3 中是这样定义类的:
MyApp.LoginWindow = Ext.extend(Ext.Window, {
title: 'Log in',
initComponent: function() {
Ext.apply(this, {
items: [
{
xtype: 'textfield',
name : 'username',
fieldLabel: 'Username'
},
...
]
});
MyApp.LoginWindow.superclass.initComponent.apply(this, arguments);
}
});
Extjs4 中改成:
Ext.define('MyApp.LoginWindow', {
extend: 'Ext.Window',
title: 'Log in',
initComponent: function() {
Ext.apply(this, {
items: [
//as above
]
});
MyApp.LoginWindow.superclass.initComponent.apply(this, arguments);
}
});
这样做有两个好处:
- 不会出现忘记定出 MyApp namespace 的情况
- 如果 Ext.Window 的定义位置比 MyApp.LoginWindow 晚,使用 4 的方式可以延时定义 LoginWindow 知道找到了 Ext.Window 的定义
本文介绍从ExtJS 3升级到ExtJS 4时类定义的变化,展示了如何将旧版的类定义转换为新版,并讨论了这种方式带来的好处。
4015

被折叠的 条评论
为什么被折叠?



