轉載:
關於creationComplete事件的發生時機,手冊中是這樣說的:
假設程序中有這樣的結構:
Application OuterVBox InnerVBox1 InnerVBoxLabel1 InnerVBox2 InnerVBoxLabel2 |
事件: preinitialize, initialize, creationComplete發生的順序是這樣的:
OuterVBox preinitialize InnerVBox1 preinitialize InnerVBox1Label preinitialize InnerVBox1Label initialize InnerVBox1 initialize InnerVBox2 preinitialize InnerVBox2Label preinitialize InnerVBox2Label initialize InnerVBox2 initialize OuterVBox initialize InnerBox1Label creationComplete InnerVBox2Label creationComplete InnerVBox1 creationComplete InnerVBox2 creationComplete OuterVBox creationComplete |
所有的initialization事件完成後,creationComplete時間纔開始發生,先從葉子控件開始,然後是他們的父控件,直到application。
如果將 OuterVBox容器變成ViewStack並且creationPolicy 屬性爲auto, 則事件發生順序是:
OuterViewStack preinitialize |
creationComplete
事件。作爲替代,你可以使用dataChange事件
。Flex
會在每次data屬性發生變化時觸發dataChange
事件。在Accessing
the listData property (Flex2 help中)一節中的例子就使用了dataChange事件來更新在DataGrid控件的item renderer中的
TextArea的內容