恕我直言,我认为要做到这一点的最好的方法是定义你的个人窗口/面板类。是的,一种方法是使用Ext.override功能,但我认为这不是一个好主意。
我建议你这样做:
Ext.define ('MyCustomWindow', {
extend: 'Ext.window.Window' ,
listeners: {
afterlayout: function (win) {
fleXenv.fleXcrollMain (win.body.id);
}
}
}
Ext.define ('MyCustomPanel', {
extend: 'Ext.panel.Panel' ,
listeners: {
afterlayout: function (panel) {
fleXenv.fleXcrollMain (panel.body.id);
}
}
}
现在,您可以实例MyCustomWindow和MyCustomPanel,留下Ext.window.Window和Ext.panel.Panel不变。
另一种方法是使用窗口管理器和PanelManager(这个自己定义):
Ext.WindowManager.register (window1);
Ext.WindowManager.register (window2);
Ext.WindowManager.register (window3);
Ext.WindowManager.each (function (win) {
win.on ('afterlayout', function (window) {
fleXenv.fleXcrollMain (window.body.id);
});
});
在这种情况下,首先你必须实例化窗口和面板,他们注册到他们的经理,然后调用每个功能就像我在上面的例子中所做的那样。