恕我直言,我認爲要做到這一點的最好的方法是定義你的個人窗口/面板類。是的,一種方法是使用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);
});
});
在這種情況下,首先你必須實例化窗口和麪板,他們註冊到他們的經理,然後調用每個功能就像我在上面的例子中所做的那樣。