我被分配創建一個可用於桌面瀏覽器和移動瀏覽器的extjs4
應用程序。我知道extjs4並非真正適用於手機(絕對適用於手機,但性能差異很大),但我們也支持我們的移動網站臨時用法(未來計劃:我們將創建一個Sencha Touch 2
版本)。extjs4檢查窗口的最後一個子組件afterlayout事件
總之,我目前正在研究提高應用程序的響應能力。按鈕點擊,打開窗口等方面的響應能力。我想在打開Ext.Window
組件時顯示一個啓動消息。在窗口的所有組件都被創建之前,此消息將可見。所以,我試圖通過聽取窗口的afterlayout
事件來實現這一點。
在我的自定義組件,它擴展Ext.Window
,我有這樣的代碼:
constructor : function() {
var me = this;
...
me.callParent(arguments);
me.on('afterlayout', {
console.log('AFTER LAYOUT');
if (mySplash != null)
mySplash.hide();
}
}
我觀察到,afterlayout
事件已被多次調用。所以,我檢查了api documentation of Sencha ExtJS 4.2 about afterlayout event of Ext.Window。它說:
當此容器中的組件由關聯的佈局管理器排列時觸發。
那麼,如何檢查我的窗口/彈出窗口的最後一個afterlayout
事件?我需要這個,所以如果我確定了這個,我可以在這裏調用我的close splash函數。
請幫忙。提前致謝。
是的,我有'afterlayder'在'afterlayout'之前被調用,這就是爲什麼我試圖抓住'afterlayout'而不是'afterrender'。 –
@JNERC是對的。我一直在試驗這個,並且觀察到,當'afterrender'被調用時,並不是所有的組件都被放置在窗口上。 – wens