加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex中的UI组件生命周期

发布时间:2020-12-15 02:13:02 所属栏目:百科 来源:网络整理
导读:在UI组件生命周期中,我听到了验证和失效事件.请简要解释一下这些事件. updateDisplayList()方法在该生命周期中做了什么.如果可能的话,请简要解释一下.先谢谢你. 解决方法 Flex Component LifeCycle是Flex用于设置组件的一组方法和事件.在我们自己的扩展UICom
在UI组件生命周期中,我听到了验证和失效事件.请简要解释一下这些事件. updateDisplayList()方法在该生命周期中做了什么.如果可能的话,请简要解释一下.先谢谢你.

解决方法

Flex Component LifeCycle是Flex用于设置组件的一组方法和事件.在我们自己的扩展UIComponent类的组件中,我们可以监听这些事件或覆盖这些方法来执行特定于我们组件的东西.

我将添加updateDisplayList()是一个方法,而不是一个事件,以防它们有任何混淆.

这些是主要的可覆盖方法:

> createChildren():这用于创建组件的子项.
> commitProperties():这是一个外卡方法.您可以使用它在一个位置协调多个属性更改.您使用它取决于您正在创建的组件和属性.
> measure():用于根据子项设置组件的“理想”高度和宽度.您可以设置measuredHeight和measuredWidth.
> updateDisplayList():用于执行与显示相关的任何操作,最常见的是对组件的子项进行定位和调整大小.

所有这些方法都将在初始组件创建期间运行.但是,这些方法中的三个 – commitProperties(),measure()和updateDisplayList() – 可以设置为在下一个渲染事件期间运行.要准备它们以进行运行,只需使用适当的失效方法使它们无效:

> invalidateProperties()强制
commitProperties()重新运行.
> invalidateSize()强制measure()为
重新运行.
> invalidateDisplayList()强制
updateDisplayList()重新运行.

渲染事件触发的频率取决于应用程序的帧速率.我认为默认的Flex帧速率是每秒24帧,因此每1/24秒有一个渲染事件.

我将组件生命周期定义为方法和事件的集合.所以,这些是事件,按它们发射的顺序:

>预先初始化
>初始化
> childAdd
> updateComplete
> creationComplete

我相信updateComplete会在每个渲染器事件后触发.但其他人是组件创建的一部分.

You should read the Flex documentation on this

The Spark Component Lifecycle增加了不同的钩子以适应两种方法;一个用于业务逻辑,一个用于皮肤.但是,它扩展了MX / Halo组件的生命周期.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读