(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触发后才触发的。
分享到:
相关推荐
提供的ff_bookmarks.html文件可能是保存的书签或浏览历史,它与Flex Application初始化顺序的知识点关联性较小,可能属于开发者个人的学习记录或资源收藏。不过,在实际项目中,类似这样的资源可以用来快速找回重要...
下图为 swf 初始化的顺序: 1. SystemManager 2. 加载器 3. Application 二、SystemManager 的作用 SystemManager 是 Flex 发布 swf 的文档类,是应用程序的入口。它不仅控制 swf 的加载和启动,还划分 Flex 工程...
原因在于Flex组件的生命周期,尤其是初始化阶段的事件顺序。 Flex组件的生命周期包含多个关键阶段,这些阶段按照一定的顺序执行,确保组件的正确初始化和显示。主要阶段包括: 1. **PREINITIALIZE**:这是组件生命...
本文将深入探讨Flex事件运行流程,特别是与`mx:Application.applicationComplete`、`creationComplete`以及Flex应用程序初始化顺序相关的知识点。 首先,Flex应用程序的启动始于`preloader`阶段,系统管理器...
3. 初始化Map对象:创建Map对象,并设置地图的基本属性,如初始位置、比例尺等。 4. 添加图层:根据需求添加不同的图层,如TiledMapServiceLayer、DynamicMapServiceLayer等。 5. 控件与工具:添加缩放控件、导航...
- **初始化数组**:在Flex中,可以使用两种方式初始化数组。第一种是直接赋值`var a:Array = []`;第二种是通过`new Array()`构造函数。推荐使用第一种方法,因为它更加简洁。 - **多数组初始化**:当需要创建多个...
- `undefined` 表示变量已被声明但未被初始化。 - `null` 表示变量已被明确地赋值为空。 - 两者的区别在于它们的含义不同。 ### 11. 创建常量 - 在 ActionScript 中使用 `const` 关键字创建常量。 - 示例代码:`...
-- 组件初始化时调用设定样式的函数 --> </mx:Application> ``` #### 五、脚本方法 除了上述方法之外,还可以通过其他 ActionScript 方法来控制样式。 #### 各组件对应的样式属性 ##### Theme Color 主题颜色 `...
默认情况下,ViewStack会按照子组件添加的顺序进行排列,第一个添加的子组件将作为初始视图显示。 在Flex中创建ViewStack组件可以通过以下XML代码实现: ```xml 视图1" /> 视图2" /> 视图3" /> ``` 在这个...
1. **初始化地图**:`initMap()` 方法中,我们设置了地图的基本属性,加载了图层,并将图层信息添加到 **DataGrid** 的数据提供者中。 2. **事件监听**:通过 `addEventListener` 添加了一个事件监听器,当图层的...
通过API,开发者可以学习如何初始化Tweener,创建动画,设置缓动类型,以及如何处理动画事件。API通常包括方法、属性、类和事件的详细说明,示例代码以及可能的参数和返回值。掌握Tweener的API意味着能够有效地将...
- 初始化CSS样式的目的是消除浏览器默认样式带来的差异,确保页面在不同浏览器中的外观一致。 **16、absolute的containing block计算方式跟正常流有什么不同?** - **absolute**元素的包含块取决于最近的已定位...
- 输出传递: 必须在调用方法前初始化参数,并且必须在方法内赋值。 #### 十三、面向对象特性 **知识点13:面向对象的三大特性** - **描述**: 面向对象编程语言的三大基本特性。 - **解析**: 封装、继承和多态是...
为什么要初始化CSS样式?** - 为了消除浏览器默认样式的差异。 - 统一页面样式。 **16. absolute的containingblock计算方式?** - 通常基于最近的`position`不是`static`的祖先元素。 - 在某些情况下(如父元素...