flex creationComplete事件的一些思考

flex creationComplete事件的一些思考
2009-05-19 14:32

转载:

 关于creationComplete事件的发生时机,手册中是这样说的:
 假设程序中有这样的结构:


Application
    OuterVBox
        InnerVBox1
            InnerVBoxLabel1
        InnerVBox2
            InnerVBoxLabel2


 事件: preinitialize, initialize, creationComplete发生的顺序是这样的:

OuterVBox preinitialize
    InnerVBox1 preinitialize
        InnerVBox1Label preinitialize
        InnerVBox1Label initialize
    InnerVBox1 initialize
    InnerVBox2 preinitialize
        InnerVBox2Label preinitialize
        InnerVBox2Label initialize
    InnerVBox2 initialize
OuterVBox initialize
        InnerBox1Label creationComplete
        InnerVBox2Label creationComplete
    InnerVBox1 creationComplete
    InnerVBox2 creationComplete
OuterVBox creationComplete


 所有的initialization事件完成后,creationComplete时间才开始发生,先从叶子控件开始,然后是他们的父控件,直到application。

 如果将 OuterVBox容器变成ViewStack并且creationPolicy 属性为auto, 则事件发生顺序是:

OuterViewStack preinitialize
    InnerVBox1 preinitialize
    InnerVBox2 preinitialize
OuterViewStack initialize
        InnerBox1Label preinitialize
        InnerBox1Label initialize
    InnerVBox1 initialize
        InnerBox1Label creationComplete
    InnerVBox1 creationComplete
OuterViewStack creationComplete

然而,对于item renderer
或者 item editor, Flex  可能会重用item renderer 或者item editor的实例。但是被重用的renderer 或者item editor的实例不会再次发生 creationComplete事件。作为替代,你可以使用 dataChange事件。Flex 会在每次data属性发生变化时触发 dataChange事件。在 Accessing the listData property (Flex2 help中)一节中的例子就使用了 dataChange事件来更新在DataGrid控件的item renderer中的TextArea的内容
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值