`
bufanliu
  • 浏览: 201226 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于组件实例化的生命周期

    博客分类:
  • FLEX
阅读更多
   组件实例化生命周期描述了用组件类创建组件对象时所发生的一系列步骤,作为生命周期的一部分,flex自动调用组件的的方法,发出事件,并使组件可见.
   下面例子用as创建一个btn控件,并将其加入容器中
    var boxContainer:Box = new Box();
   //设置Box容器
   ...
   //创建btn
   var b:Button = new Button();
   b.label = "Submit";
   ...
   //将btn添加到Box容器中
   boxContainer.addChild(b);
  下面的步骤显示了用代码创建一个Button 控件,并将这个控件添加到Box 容器中时所发生
的一切:
   1.调用了组件的构造函数;
       var b:Button = new Button();
  2.通过设置组件的属性对组件进行设置,
       // Configure the button control.
       b.label = "Submit";
    组件的setter方法将会调用invalidateProperties(),invalidateSize   (),invalidateDisplayList()方法.
  3.调用addChild()方法将该组件添加到父组件
     // Add the Button control to the Box container.
     boxContainer.addChild(b);

  4.将component的parent的属性设置为对父容器的引用.
  5.计算组件样式(style)设置
   6.在组件上发布priininialize事件.
   7.调用组件的createChildren()方法.
   8.调用invalidateProperties(),invalidateSize(),invalidateDisplayList ()方法以触发后续到来的,下一个"渲染事件"(render event)期间对commitProperties(),measure(),updateDisplayList()方法的调用.这个规则唯一一个例外就是当用户设置组件的height 和width 属性时, Flex 不会调用measure() 方法.
   9. 在组件上分发initialize 事件。此时,组件所有的子组件都被初始化,但是组件没有改更size 和处理布局。可以利用这个事件在组件布局之前执行一些附加的处理。
   10. 在父容器上分发childAdd 事件.
   11. 在父容器上分发initialize 事件.
   12.在下一个"渲染事件"(render event)中,Flex执行以下动作:

     a.调用组件的commitProperties()方法.
     b.调用组件的measure()方法.
     c.调用组件的layoutChrome方法.
     d.调用组件的updateDisplayList()方法.
     e.在组件上发布updateComplete事件.
   13.如果commitProperties(),measure,updateDisplayList方法调用了invalidateProperties(),invalidateSize(),或invalidateDisplayList()方法,则Flexh 会分发另外一个render 事件.
   14. 在最后的render 事件发生后, Flex 执行以下动作:
       a. 通过设置组件的visible 属性使组件变为可视.
       b. 在组件上分发creationComplete 事件.组件的大小(size)和布局被确定.
             这个事件只在组件创建时分发一次.
       c. 在组件上分发updateComplete 事件.无论什么时候,只要组件的布局
           (layout),位置,大小或其它可视的属性发生变化就会分发这事件,然后组件被
            更新,以使组件能够被正确地显示.
  
分享到:
评论

相关推荐

    08 组件实例组件实例到底是什么?慕课专栏1

    组件实例在React应用程序中扮演着至关重要的角色,它们是React框架在运行时为了管理组件状态、生命周期和渲染逻辑而创建的对象。尽管React官方文档没有详细阐述组件实例,但理解它们的工作原理对于深入学习React的...

    Android组件的生命周期

    ### Android组件的生命周期详解 #### 一、Android系统框架及组件功能简介 Android是一个基于Linux内核的操作系统,专门设计用于移动设备。Android系统架构由多个层次组成,其中包括硬件抽象层(HAL)、运行时库、...

    微信小程序组件生命周期.docx

    - 除了上述主要的三个阶段,还有其他如 `ready`(在组件在视图层布局完成后执行)和 `moved`(在组件实例被移动到节点树另一个位置时执行)等生命周期,它们分别在不同的版本中引入,用于处理特定场景。 4. **组件...

    理解Flex3的组件和框架的生命周期

    在此阶段,组件被实例化,并且执行构造函数。此时组件还不存在于视图中,因此无法进行任何视觉上的操作。 - **添加阶段(birth)**:组件被添加到视图中,但尚未完成初始化。这意味着组件现在可以在用户界面上可见,...

    Angular中的生命周期函数--动态挂载销毁组件

    在父组件中,我们可以使用`ViewContainerRef.createComponent()`来创建组件实例,然后在需要时使用`destroy()`方法销毁它。 7. 性能优化 理解并正确使用生命周期钩子可以帮助我们优化应用性能。例如,避免在`...

    理解Flex3的组件和框架的生命周期.doc

    1. 构造阶段:组件实例化,初始化基本属性。 2. 添加阶段:组件被添加到容器中,可能触发容器的布局过程。 3. 初始化阶段:组件的初始化方法执行,如设置初始值和绑定事件监听器。 4. 失效机制阶段:组件在不活动时...

    06 生命周期如何理解 React 组件生命周期?慕课专栏1

    - `constructor(props)`: 在组件实例化时调用,用于初始化state和绑定方法。 - `componentWillMount()`: 在组件被挂载到DOM之前调用,不推荐在此处进行DOM操作,因为此时组件还未渲染。 - `render()`: 渲染组件的...

    flex 4 生命周期

    首先,组件的创建过程始于`initialize`事件,这是组件实例化后首次允许开发者进行属性设置的时刻。接着,`creationComplete`事件标志着组件的所有子组件都已创建并初始化完成,此时可以访问和操作组件树。 布局阶段...

    flex3组件和框架的生命周期

    ### Flex3组件和框架的生命周期 #### 知识点概览 - **Flex3简介** - **Flex3组件生命周期** - 构造阶段 - 添加阶段 - 初始化阶段 - 失效机制阶段 - 生效机制阶段 - 更新阶段 - 移除阶段 - **Flex应用程序...

    Flex3组件和框架的生命周期

    这是组件生命周期的开始阶段,主要完成组件实例化的过程。在这个阶段中,调用组件的构造函数进行初始化操作。此时,组件还没有被添加到显示列表中,也无法获取到任何父级容器的信息。 **组件的添加阶段** 一旦组件...

    糯米组件化实例仓库

    糯米组件化实例仓库是一个以JavaScript开发的项目,主要聚焦于前端工程中的组件化实践。在当前的Web开发环境中,组件化已经成为提升代码复用性、可维护性和开发效率的重要手段。这个项目,"nuomi-component-master...

    微信小程序组件生命周期.pdf

    - **created**:组件实例刚被创建时触发。在这个阶段,组件的数据`this.data`是通过`Component`构造器定义的初始数据`data`。此时,不能直接调用`setData`更新数据,通常用于给组件添加自定义属性字段。 - **...

    JSF 生命周期 实例详解

    生命周期的概念在JSF中扮演着至关重要的角色,因为它自动化了许多传统Web技术中需要手动编写的任务。 **JSF请求处理生命周期的高度概述** JSF生命周期主要分为6个阶段:恢复视图、应用请求值、过程验证、更新模型...

    JSF生命周期及组件开发

    ### JSF生命周期及组件开发详解 #### 一、JSF生命周期概述 JavaServer Faces (JSF) 是一种基于Java EE标准的服务器端组件框架,用于简化企业级Web应用程序的开发。JSF提供了一种声明式的组件化编程模型,使得...

    dojo生命周期

    此外,合理的生命周期管理和组件实例化策略能够有效地优化应用性能和可维护性。 总的来说,Dojo的生命周期机制和组件管理是其强大功能的重要组成部分。通过理解并熟练掌握这些概念,开发者可以更好地利用Dojo创建...

    android activity生命周期实例

    本实例通过切换设备横竖屏来演示Activity的生命周期变化,让我们一起探讨这个话题。 首先,Activity的生命周期包含几个关键状态:创建(Created)、启动(Started)、运行(Resumed)、暂停(Paused)、停止...

    [已更新Demo附件]生命周期组件框架——关系型状态机服务

    在软件组件的生命周期管理中,状态机可以帮助开发者定义组件从初始化到终止的所有状态,如“新建”、“初始化”、“活动”、“暂停”等,并明确各状态之间的转换规则。 ### 源码分析:面向对象设计 从源码角度出发...

    【完美翻译】Flex组件的生命周期

    1. 初始化阶段(CreationPhase):在这个阶段,组件被实例化,并且其属性开始被设置。这是通过调用`createChildren()`方法完成的,它负责创建组件的子元素。如果组件的`creationPolicy`属性设置为`Auto`或`All`,则...

    生命周期钩子函数——domo.zip

    在这个"生命周期钩子函数——domo.zip"压缩包中,我们可能找到了关于React组件生命周期和实现轮播图案例的代码示例。 首先,我们要理解React组件的生命周期分为三个主要阶段:挂载阶段(Mounting)、更新阶段...

    react-使用简单的组件测量使用控件的React渲染生命周期

    - `static getDerivedStateFromProps()`: 在组件实例被创建并即将挂载到DOM之前调用,用于根据props更新state。 - `render()`: 必须的方法,返回React元素来表示UI。 - `componentDidMount()`: 组件被挂载到DOM后...

Global site tag (gtag.js) - Google Analytics