Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs覆盖-覆盖前加载所需文件_Extjs_Overriding - Fatal编程技术网

Extjs覆盖-覆盖前加载所需文件

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,

我正在尝试使用覆盖应用修补程序,但得到“Uncaught TypeError:无法读取未定义的属性'Table',因为在调用脚本时Ext.view.Table文件尚未完成加载。如何确保在调用之前加载所需的文件

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”现在。