Flex容器和组件的初始化创建事件
在FLEX中,我们经常会用到,当容器或者这个组件初始化的时候,或者创建完成的时候,就去做一些事情。那么此时Flex就会派发preinitialize、initialize和creationComplete事件。当子项初始化完成后,其父容器开始初始化。即子项总是先于父容器初始化完成。然而,只有当所有子项的父容器都初始化完成后,子项才开始派发creationComplete事件。Flex的Pr
·
在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
<结束!>
更多推荐
已为社区贡献2条内容
所有评论(0)