Flex容器和組件的初始化創建事件

在FLEX中,我們經常會用到,當容器或者這個組件初始化的時候,或者創建完成的時候,就去做一些事情。

那麼此時Flex就會派發preinitialize、initialize和creationComplete事件。當子項初始化完成後,其父容器開始初始化。即子項總是先於父容器初始化完成。然而,只有當所有子項的父容器都初始化完成後,子項纔開始派發creationComplete事件。

Flex的Preinitialize(預初始化)、Initialize(初始化)、CreationComplete創建完成事件

代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009" 
		 xmlns:s="library://ns.adobe.com/flex/spark" 
		 xmlns:mx="library://ns.adobe.com/flex/mx" 
		 width="100%" height="100%"
		 initialize="panel1_initializeHandler(event)"
		 creationComplete="panel1_creationCompleteHandler(event)"
		 title="{ModelLocator.getInstance().baseDatApplyTitle}" 
		 preinitialize="panel1_preinitializeHandler(event)"
		 xmlns:utils="com.tiamaes.utils.*"
		 minHeight="500"
		 minWidth="700"
		 updateComplete="panel1_updateCompleteHandler(event)"
		 >
            //initialize 執行順序 2
			protected function panel1_initializeHandler(event:FlexEvent):void
			{
				// TODO Auto-generated method stub   1 查詢出來這個值
				cityNameString=UserSession.getCurrentAccount().cityName;
				yearStr=applyYear.text;
				cityCode = UserSession.getCurrentAccount().cityCode;
				token = dataApplyProxy.querySavedDataBaseList("2013-6-30 10:15:58",cityCode);
				FlexUtil.addResponder(token,baseDataResult,baseDataFault);
				
			}

                  //creationComplete  執行順序 3
			protected function panel1_creationCompleteHandler(event:FlexEvent):void
			{
				// TODO Auto-generated method stub
				trace(tempValueArr);
				trace(tempValueArr);
			}

                  //preinitialize  執行順序 1 
			protected function panel1_preinitializeHandler(event:FlexEvent):void
			{
				// TODO Auto-generated method stub
				trace(tempValueArr);
				trace(tempValueArr);
			}

                  //updateComplete  執行順序 4
			protected function panel1_updateCompleteHandler(event:FlexEvent):void
			{
				// TODO Auto-generated method stub
				trace(tempValueArr);
				trace(tempValueArr);
			}
對於單個組件來說,事件的執行順序就是:preinitialize,initialize,creationComplete,updateComplete

如果2個組件相互嵌套,那行執行順序就是:preinitialize先外後內,initialize和creationComplete,updateComplete先內後外。

如果2個組件是相互平行的關係,那行執行順序就是:前面組件initialize結束後,後面的組件纔會拋出preinitialize

<結束!>




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章