Extjs覆盖-覆盖前加载所需文件
我正在尝试使用覆盖应用修补程序,但得到“Uncaught TypeError:无法读取未定义的属性'Table',因为在调用脚本时Ext.view.Table文件尚未完成加载。如何确保在调用之前加载所需的文件Extjs覆盖-覆盖前加载所需文件,extjs,overriding,Extjs,Overriding,我正在尝试使用覆盖应用修补程序,但得到“Uncaught TypeError:无法读取未定义的属性'Table',因为在调用脚本时Ext.view.Table文件尚未完成加载。如何确保在调用之前加载所需的文件 Ext.define('CSnet.overrides.Table', { override: 'Ext.view.Table', getRowStyleTableElOriginal: Ext.view.Table.prototype.getRowStyleTableEl,
Ext.define('CSnet.overrides.Table', {
override: 'Ext.view.Table',
getRowStyleTableElOriginal: Ext.view.Table.prototype.getRowStyleTableEl,
getRowStyleTableEl: function() {
var el = this.getRowStyleTableElOriginal.apply(this, arguments);
if (!el) {
el = {
addCls: Ext.emptyFn,
removeCls: Ext.emptyFn,
tagName: {}
}
}
return el;
}
});
您可以定义一个处理所有重写的类,例如
Ext.define('YourApp.Overrider',{
requires: ['TargetClass'],
doOverride: function() {
Ext.define('CSnet.overrides.Table', {
override: 'Ext.view.Table',
// snip
});
}
});
加载框架后,您可以在app.js中需要此类,并在app.launch()中调用doOverride。此外,您可以在重写器的require配置中要求要重写的特定TargetClass 您可以定义一个处理所有重写的类,例如
Ext.define('YourApp.Overrider',{
requires: ['TargetClass'],
doOverride: function() {
Ext.define('CSnet.overrides.Table', {
override: 'Ext.view.Table',
// snip
});
}
});
加载框架后,您可以在app.js中需要此类,并在app.launch()中调用doOverride。此外,您可以在重写器的require配置中要求要重写的特定TargetClass 谢谢,但我正在寻找一种更为“Ext”的方式(使用覆盖配置)。我认为这是相当“Exty”现在。谢谢,但我正在寻找一种更“Ext”的方式(使用覆盖配置)。我认为这是相当“Exty”现在。