`

flex creationComplete事件的一些思考

阅读更多

creationComplete恐怕是flex用的最多的事件了,不管啥,application标签后面接个creationcomplete事件处理函数,做为程序的起点。这种做法是没错的,可是有些时候它也不是都管用。先看看来自devguide_flex3的论述:

 

  The preinitialize event occurs too early in the component life cycle for most initialization activities. It is useful, however, in the rare situations where you must set the properties on a parent before the children are created.
To configure a component before Flex has determined its visual appearance, use the initialize event. For example, use this for setting properties that affect its appearance, height, or width.
Use the creationComplete event for actions that rely on accurate values for the component’s size or position when the component is created. If you use this event to perform an action that changes the visual appearance of the component, Flex must recalculate its layout, which adds unnecessary processing overhead to your application.
Use the updateComplete event for actions that must be performed each time a component’s characteristics change, not just when the component is created.

 

这是flex components initialization lifecycle里论述的关于组件初始化的过程(个人认为这是flex的超级重点)。其它事件不看了。creationcomplete事件发生在某个组件(以及它的子组件)完全建立的时候,包括样式,大小,布局完成。也就是讲,是你能看到UI的时候。它隐含了一些意思在里面(个人经验之谈),很可能在实际操作过程中被忽略掉。

必须可见 。我在这点上吃了几次亏。creationcomplete的时机是布局已经完成的时刻,那如果某些子组件不在布局之内呢,比如tag navigator, viewstack(其它的我没试过,不好讲)。它的还没被选中的子组件就没有初始化,访问它就报错了。
只发生一次 。就是建立的时候,如果以后布局有变化,发出的是updatecomplete 事件。
每个组件都有 。除了application,还有它的子组件,子组件的子组件… 。地球人都有呀。这一点可以做为第一点的解决方案,就是在子组件里各自建立creationcomplete的处理函数,这样对数据模块化也有好处。

文章来自: 闪无忧(www.5uflash.com) 详文参考:http://www.5uflash.com/Flex-AIR/Flexziliao/4424.html

分享到:
评论

相关推荐

    flex事件运行流程

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

    flex自定义事件、简单例子说明

    ### Flex自定义事件详解 Flex 是一款用于构建和部署跨平台桌面应用与移动应用的开源框架,它基于Adobe Flash Platform。在Flex应用开发过程中,事件处理机制是非常重要的一个环节,而自定义事件则是这一机制中的...

    关于flex事件的讲解.rar

    2. **事件类型**:Flex提供了一系列内置的事件类型,例如`creationComplete`、`click`、`change`等,这些事件对应着不同的用户交互或组件状态改变。开发者也可以自定义事件类型以满足特殊需求。 3. **添加和移除...

    Flex:事件的流转控制.doc

    ### Flex:事件的流转控制 #### 一、事件机制概览 在Flex中,事件机制是一种非常核心且灵活的功能,它允许开发人员有效地管理和响应应用程序内的各种交互行为。Flex的应用程序是基于事件驱动架构的,这意味着大...

    关于flex事件的讲解

    1. **事件类型**:Flex提供了多种内置事件类型,如`initialize`(初始化事件)、`creationComplete`(创建完成事件)、`render`(渲染事件)、`change`(数据更改事件)、`click`(点击事件)等。开发者也可以自定义...

    flex事件讲解

    Flex事件讲解 在Flex开发中,事件处理是构建交互式用户界面的重要组成部分。Flex是一个开源的、基于ActionScript的框架,用于创建富互联网应用程序(RIA)。它提供了丰富的组件库和强大的事件模型,使得开发者能够...

    flex 4 生命周期

    接着,`creationComplete`事件标志着组件的所有子组件都已创建并初始化完成,此时可以访问和操作组件树。 布局阶段在Flex 4中得到了强化,引入了LayoutManager和LayoutClasses,使得布局管理更加灵活和可定制。`...

    Flex4视频教程_02-01事件概述.rar

    9. **Flex4的专用事件**:Flex4引入了一些特有的事件,如`creationComplete`,用于标记组件初始化完成,`dataChange`表示数据源发生变化,`validateNow`则在验证组件属性后触发。 10. **事件与数据绑定**:在Flex4...

    flex 控制鼠标移动的例子

    在`creationComplete`事件中,我们可以为`mouseArea`添加`MouseMove`事件的监听器: ```xml <![CDATA[ import mx.events.MouseEvent; private function init():void { mouseArea.addEventListener(MouseEvent...

    教你怎样用FLEX做地图的教程

    在Flex应用的XML文件(通常是.mxml文件)中,我们需要引入地图相关的命名空间,并在creationComplete事件中初始化地图。例如: ```xml xmlns:maps="com.earthplayer.maps.*" creationComplete="init()"> <!...

    FLEX 系统管理器 SystemManager

    creationComplete事件表示组件创建完成,最后,Application对象被添加到显示列表中,派发applicationComplete事件,标志着应用加载完成。 5. **性能优化**: 如果使用ActionScript创建Application对象,推荐在...

    Flex4 中文API

    Flex4中文API文档详细记录了AS3的各种类库、方法、属性和事件,帮助开发者理解和利用这些功能。 1. **Flex Framework**:Flex框架包括一系列组件、服务和工具,用于构建用户界面。它提供了MXML,一种声明式语言,让...

    flex 经典教程下载

    Flex 支持各种事件,如点击事件(Click)、页面创建完成事件(creationComplete)、鼠标事件(MouseEvent)和键盘事件(KeyboardEvent)。通过`addEventListener()`方法添加事件监听器,如添加鼠标点击事件监听: `...

    Flex导航条提示自定义

    描述中提到的“通过给ZoomSlider一个creationComplete函数”,这是Flex编程中常见的做法,当组件完成创建后,会触发creationComplete事件。在这个事件处理函数中,我们可以对组件进行进一步的定制,例如更改属性或...

    flex+java+blazeds配置

    在MXML的`creationComplete`或`initialize`事件中,配置`RemoteObject`的目标(destination)和方法名,然后在按钮的点击事件处理函数中调用该方法并传递参数。`remotingSayHello`函数中,通过`say.getHelloWorld`...

    flex学习心得

    Flex采用事件驱动架构,开发者可以通过监听事件来响应用户的交互行为。当组件触发事件时,所有注册的监听器都会收到通知。 #### 九、组件外观设置 除了使用选择器设置外观之外,Flex还允许直接通过调用`setStyle`...

    Flex4.5常见问题总结

    Flex应用基于事件驱动模型,事件机制让开发者能够响应用户交互、组件状态变化和界面更新。组件分发事件时,所有注册的监听器都会收到通知,这是Flex实现动态响应和交互的关键。 #### 七、样式与效果 除了选择器...

    flex 不错的教程

    1. 初始化(Initialization):Flex框架会为组件的每个属性调用初始化方法,如creationComplete事件。 2. 应用(Application):在此阶段,组件被应用到显示列表中,可以在此时对组件进行添加子组件的操作。 3. 布局...

    flex 饼图的demo

    通过这个简单的饼图示例,初学者可以了解到Flex中创建饼图的基本步骤以及如何设置相关属性和监听事件。通过深入学习和实践,可以进一步定制饼图的样式,如颜色、动画效果等,以满足更复杂的数据可视化需求。在实际...

Global site tag (gtag.js) - Google Analytics