Jac*_*cob 1 html javascript overriding extjs
我试图覆盖类的initComponent功能中的一些代码Ext.window.MessageBox.但是,我所改变的一切都没有得到应用.
这里有什么问题?我错过了什么吗?
Ext.define('hds.override.MessageBox', {
override: 'Ext.window.MessageBox',
initComponent: function() {
console.log("init component 1"); //not reached
this.callParent();
console.log("init component 2"); //not reached
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:
我也尝试用extend替换覆盖,但仍未达到内部intiComponent.更改为扩展时,是否需要更改文件的位置?
如果你想要的是改变其行为Ext.Msg是类的一个实例,Ext.window.MessageBox你需要使它成为被覆盖类的一个实例:
Ext.define('MyMessageBox', {
override: 'Ext.window.MessageBox',
initComponent: function() {
this.callParent();
//your changes here..
}
},function() {
Ext.MessageBox = Ext.Msg = new this();
});
Run Code Online (Sandbox Code Playgroud)
看看这个小提琴,我改变了initComponent中的默认填充