FLEX的初始化順序

2021-06-01 11:14:29 字數 1301 閱讀 9549

from:

flex元件在建立的時候都會經歷四個事件:preinitialize , initialize , creationcomplete 和 updatecomplete(updatecomplete事件在任何改動視覺的情況下都會發生,不是初始化時獨有的)。

下面的例子檢測在巢狀和平行的情況下,各個元件的事件丟擲順序。

上面的例子輸出順序是:

1299 >> eventtest0 preinitialize

1307 >> canv1 preinitialize

1310 >> btn1 preinitialize

1318 >> btn1 initialize

1319 >> canv1 initialize

1320 >> btn2 preinitialize

1321 >> btn2 initialize

1321 >> eventtest0 initialize

[swf] g:\projects\eventtest\bin-debug\eventtest.swf - 588,818 bytes after decompression

1387 >> btn1 creationcomplete

1387 >> btn1 updatecomplete

1387 >> canv1 creationcomplete

1387 >> canv1 updatecomplete

1388 >> btn2 creationcomplete

1388 >> btn2 updatecomplete

1388 >> eventtest0 creationcomplete

1390 >> eventtest0 updatecomplete

看著有點混亂,不過仔細看看,可以把過程分成兩個部分。

很明顯,所有的creationcomplete和updatecomplete發生在第二次update的時候,之前flex元件只是做一些設定和計算的工作,並沒有在畫布上畫任何東西。除此之外,還有這麼一些規律:

* 就單個元件而言,事件的丟擲順序是preinitialize,initialize,creationcomplete

* 巢狀關係的兩個元件(比如canvas和button1),preinitialize先外後內,initialize和creationcomplete先內後外。只是creationcomplete要在下一次update才會發生。

* 平行關係的兩個元件(比如canvas和button2),按mxml內的順序,只有前面元件initialize結束後,後面的元件才會丟擲preinitialize。

FLEX的初始化順序

flex元件在建立的時候都會經歷四個事件 preinitialize initialize creationcomplete 和 updatecomplete updatecomplete事件在任何改動視覺的情況下都會發生,不是初始化時獨有的 下面的例子檢測在巢狀和平行的情況下,各個元件的事件丟擲順...

Flex 元件初始化順序

在flex中,我們經常會用到,當容器或者這個元件初始化的時候,或者建立完成的時候,就去做一些事情。那麼此時flex就會派發preinitialize initialize和creationcomplete事件。當子項初始化完成後,其父容器開始初始化。即子項總是先於父容器初始化完成。然而,只有當所有子...

Flex 程式的初始化順序

flex程式執行的過程中會觸發 preinitialize,initialize 和 creationcomplete 事件,還會建立靜態成員變數和成員變數。它們的執行順序時怎樣的?flex 程式的執行順序如下。如果 flex 使用了元件,那麼主程式和元件的 preinitialize,initia...