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