'我有一个基础classe,其中声明了两个监听器:
Ext.define('App.controls.CoWindow', {
extend: 'Ext.window.Window',
listeners: {
show: {
fn: function(win, opt){
alert('opened from base class');
},
scope: this
},
close: {
fn: function() {
alert('closed from base class');
}
}
}
})
如果我声明一个扩展它的新类,并配置监听器,则不会调用祖先事件:
var procura = Ext.create('App.controls.CoWindowEx', {
listeners: {
close: {
fn:function() {
alert('closed from extending class');
}
}
}
});
当我需要这两条消息时,我只能“从扩展课程中关闭”。
答案 0 :(得分:0)
因为你正在覆盖超类原型上的监听器配置。如果你必须这样做:
Ext.define('App.controls.CoWindow', {
extend: 'Ext.window.Window',
initComponent: function(){
this.callParent();
this.on('show', function(){
console.log('super show');
});
this.on('close', function(){
console.log('super close');
});
}
});