2
我有一個窗口組件,我正在擴展以創建不同的窗口。現在,close()
和hide()
偵聽器函數在主板上是相同的,但afterrender()
隨每個實例而變化。Extjs:覆蓋特定聽衆
所以我有這樣的:
Ext.define('abc.xyz.BaseWindow', {
extend : "Ext.Window",
listeners: {
hide: function(el, eOpts){
console.log('hide');
},
close: function(el, eOpts){
console.log('close');
}
}
});
和:
Ext.define('abc.xyz.MyWindow', {
extend : "abc.xyz.BaseWindow",
listeners: {
afterrender: function(el, eOpts){
console.log('afterrender');
}
}
});
然而,整個listeners
對象無效,hide()
和close()
永遠不會被調用。除了在每個擴展窗口中指定hide()
和close()
之外,是否有解決此問題的方法?
你最好直接調用'on' t點。 –
在這種情況下是的。但如果你在基類中有一個處理程序將被調用。取決於你想要的:覆蓋或添加額外的監聽器:) – VDP
感謝您的想法。我最終調用'onAfterRender()'從基地的監聽器配置並在擴展窗口中指定函數。有用。不需要initComponent或applyIf – Snowman