我已经在ExtJS 4中创建了这个类,现在我想在另一个类中扩展它。我使用extend
属性来扩展类。但是我不能延长课程。我想使用require来包含类文件吗。但我把这两个文件都放在同一个目录中。
为ExtJS定义源路径以定位源文件。
Ext.Loader.setConfig({
enabled: true,
paths: {
'[your namespace prefix here]': '[physical path]'
}
});
然后在子类中定义Ext.require
或requires
部分以启用自动路径解析。阅读此链接了解更多信息。
示例
基类:位于文件夹root/view/common/Picker.js
中的文件
Ext.define('RL.view.common.Picker', {
extend: "Ext.form.field.Picker",
...
}
子类:位于文件夹root/view/selection/DriverTreeCombo.js
中的文件
Ext.define('RL.view.selection.DriverTreeCombo', {
extend: "RL.view.common.Picker",
requires: ['Ext.tree.Panel', 'RL.view.common.TreeBase'],
...
}
我的命名空间是RL.xxx.xxx,RL应该是root
文件夹。现在我可以将Loader配置定义为以下
Ext.Loader.setConfig({
enabled: true,
paths: {
'RL': '/root'
}
})
应在"Ext.onReady(…)"函数调用之前设置加载器配置。浏览ExtJS包中的examples文件夹可以帮助您了解如何做到这一点。
进一步阅读:
- 阶级制度
- 动态加载和新的类系统