`

Flex Application 初始化事件的顺序

    博客分类:
  • flex
阅读更多

(1)首先测试下单个Application的初始化事件的顺序

顺序如下:

preinitialize

在组件初始化序列开始时调度。在这个事件里面调用Application里的组件会出错。因为这个时候组件还没有开始初始。

initialize

当组件完成构建并设置了所有初始化属性后调度。

creationComplete

当组件完成其构建、属性处理、测量、布置和绘制时调度。

applicationComplete

在 Application 经过初始化、由 LayoutManager 处理并附加到显示列表后调度。

(2)现在在Application里放了个自定义组件

顺序如下:

preinitialize             Application的preinitialize先触发

Child:preinitialize       然后子级的preinitialize再触发

Child:initialize          接着就先触发子级的initialize

initialize                再触发Application的initialize

Child:creationComplete    再接着就先触发子级的creationComplete

creationComplete          然后才到Application的creationComplete

applicationComplete       最后是Application的applicationComplete被触发了。

更多的时候。我们是接触一个Application多个组件。

<1>每个组件有自己的数据要初始化,这个时候,我们就要清楚在哪个事件里对组件的数据进行初始化。

<2>有的时候某个组件初始化的数据要依据Application里的数据时。一定要保证Application的共用数据必须要在子级组件初始化前完成。

对于情况<2>我的建议是为子级组件侦听ADDED_TO_STAGE事件。。在ADDED_TO_STAGE事件触发时进行数据初始 化。因为子级的ADDED_TO_STAGE事件是在Application的creationComplete触发后才触发的。

分享到:
评论

相关推荐

    Flex Application 初始化顺序

    提供的ff_bookmarks.html文件可能是保存的书签或浏览历史,它与Flex Application初始化顺序的知识点关联性较小,可能属于开发者个人的学习记录或资源收藏。不过,在实际项目中,类似这样的资源可以用来快速找回重要...

    Flex启动与初始化

    下图为 swf 初始化的顺序: 1. SystemManager 2. 加载器 3. Application 二、SystemManager 的作用 SystemManager 是 Flex 发布 swf 的文档类,是应用程序的入口。它不仅控制 swf 的加载和启动,还划分 Flex 工程...

    关于Flex 初始化的research

    原因在于Flex组件的生命周期,尤其是初始化阶段的事件顺序。 Flex组件的生命周期包含多个关键阶段,这些阶段按照一定的顺序执行,确保组件的正确初始化和显示。主要阶段包括: 1. **PREINITIALIZE**:这是组件生命...

    flex事件运行流程

    本文将深入探讨Flex事件运行流程,特别是与`mx:Application.applicationComplete`、`creationComplete`以及Flex应用程序初始化顺序相关的知识点。 首先,Flex应用程序的启动始于`preloader`阶段,系统管理器...

    gis api for flex

    3. 初始化Map对象:创建Map对象,并设置地图的基本属性,如初始位置、比例尺等。 4. 添加图层:根据需求添加不同的图层,如TiledMapServiceLayer、DynamicMapServiceLayer等。 5. 控件与工具:添加缩放控件、导航...

    flex优化全集 flex优化全集

    - **初始化数组**:在Flex中,可以使用两种方式初始化数组。第一种是直接赋值`var a:Array = []`;第二种是通过`new Array()`构造函数。推荐使用第一种方法,因为它更加简洁。 - **多数组初始化**:当需要创建多个...

    flex面试题

    - `undefined` 表示变量已被声明但未被初始化。 - `null` 表示变量已被明确地赋值为空。 - 两者的区别在于它们的含义不同。 ### 11. 创建常量 - 在 ActionScript 中使用 `const` 关键字创建常量。 - 示例代码:`...

    FlexCss手册

    -- 组件初始化时调用设定样式的函数 --&gt; &lt;/mx:Application&gt; ``` #### 五、脚本方法 除了上述方法之外,还可以通过其他 ActionScript 方法来控制样式。 #### 各组件对应的样式属性 ##### Theme Color 主题颜色 `...

    利用viewstack组件实现各个子组件之间的跳转和数据传递

    默认情况下,ViewStack会按照子组件添加的顺序进行排列,第一个添加的子组件将作为初始视图显示。 在Flex中创建ViewStack组件可以通过以下XML代码实现: ```xml 视图1" /&gt; 视图2" /&gt; 视图3" /&gt; ``` 在这个...

    OpenScales图层控制 DataGrid checkBox

    1. **初始化地图**:`initMap()` 方法中,我们设置了地图的基本属性,加载了图层,并将图层信息添加到 **DataGrid** 的数据提供者中。 2. **事件监听**:通过 `addEventListener` 添加了一个事件监听器,当图层的...

    Tweener的SWC、AS文件和英文API

    通过API,开发者可以学习如何初始化Tweener,创建动画,设置缓动类型,以及如何处理动画事件。API通常包括方法、属性、类和事件的详细说明,示例代码以及可能的参数和返回值。掌握Tweener的API意味着能够有效地将...

    前端面试题

    - 初始化CSS样式的目的是消除浏览器默认样式带来的差异,确保页面在不同浏览器中的外观一致。 **16、absolute的containing block计算方式跟正常流有什么不同?** - **absolute**元素的包含块取决于最近的已定位...

    c#笔试集合

    - 输出传递: 必须在调用方法前初始化参数,并且必须在方法内赋值。 #### 十三、面向对象特性 **知识点13:面向对象的三大特性** - **描述**: 面向对象编程语言的三大基本特性。 - **解析**: 封装、继承和多态是...

    web前端笔试面试

    为什么要初始化CSS样式?** - 为了消除浏览器默认样式的差异。 - 统一页面样式。 **16. absolute的containingblock计算方式?** - 通常基于最近的`position`不是`static`的祖先元素。 - 在某些情况下(如父元素...

Global site tag (gtag.js) - Google Analytics