Extjs4 重写initComponent()方法

Extjs4 重写initComponent()方法,extjs4,extjs-mvc,Extjs4,Extjs Mvc,我想重写Ext.grid.column.column类的initComponent()方法。但有些人知道它是如何执行所有这些行的。基本上,我希望从元素中删除侦听器,并将其分配给其他元素 Ext.override(Ext.grid.column.Column, { initComponent: function(){ . . //All lines are as it is till me.callParents();

我想重写Ext.grid.column.column类的initComponent()方法。但有些人知道它是如何执行所有这些行的。基本上,我希望从元素中删除侦听器,并将其分配给其他元素

Ext.override(Ext.grid.column.Column, 
{     
    initComponent: function(){
         .
         .  //All lines are as it is till me.callParents(); 
         .
         .
         .
         .
         .
         .
         .
         // Initialize as a HeaderContainer
         me.callParent(arguments);

        me.on({      <<<------------------------------Do not need these.
            element:  'el',
            click:    me.onElClick,
            dblclick: me.onElDblClick,
            scope:    me
        });
        me.on({      <<<------------------------------Do not need these.
            element:    'titleEl',
            mouseenter: me.onTitleMouseOver,
            mouseleave: me.onTitleMouseOut,
            scope:      me
        });

    }

}
Ext.override(Ext.grid.column.column、,
{     
initComponent:function(){
.
.//在我之前,所有的行都是一样的。callParents();
.
.
.
.
.
.
.
//初始化为HeaderContainer
me.callParent(参数);

me.on({而不是使用
Ext.override
,使用
Ext.define
创建一个子类。重新定义
initComponent
方法时,可以使用
this.superclass.superclass.initComponent.call
跳过
Ext.grid.column.column#initComponent

Ext.define('MyApp.grid.column.Column', {
    extend: 'Ext.grid.column.Column',
    alias:  'widget.mycolumn',

    initComponent: function(){
        // Pre-initComponent from column class here

        // Ext.grid.header.Container#initComponent
        this.superclass.superclass.initComponent.call(this);

        // Do optional stuff here
    }
});
然后,当您创建新列时,使用
xtype:'mycolumn'
使用您自己的实现,同时仍然能够根据需要使用常规列