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

Flex多个组件使用时序问题

发布时间:2020-12-15 01:04:57 所属栏目:百科 来源:网络整理
导读:为了渲染一个场景,我们需要在这个场景中加入各种组件,例如:我们在canvas中加入DataGrid,Panel,WindowTitle等等。跟vs的控件拖拽很相似,将组件拖到布景上然后调整样式和尺寸。然后渲染启动。我们预期的效果是当我们切换到不同的组件时该组件能够使用。但

为了渲染一个场景,我们需要在这个场景中加入各种组件,例如:我们在canvas中加入DataGrid,Panel,WindowTitle等等。跟vs的控件拖拽很相似,将组件拖到布景上然后调整样式和尺寸。然后渲染启动。我们预期的效果是当我们切换到不同的组件时该组件能够使用。但往往我们会得到切换的组件并没有初始化完成。为什么这样,先来说说flex的初始化顺序:

preinitialize

应用程序application已实例化,但此时还未创建任何相关的孩子组件(child component)

initialize

此时,创建了相应的孩子组件,但还未对这些子组件进行布局

creationComplete

应用程序application完成全部实例化,并完成所有子组件的布局

apllicationComplete

上面三处事件的完成,表明application内部启动的整个进程完成,接下来便会通知SystemManager派发applicationComplete事件。此时,启动程序启动完成并准备运行。

?

详见:http://luoke920.iteye.com/blog/1168618

?

本次项目遇到的问题就是,当给panel初始化data时期望除非其datachange事件来绑定数据到datagrid上,panel.data=event.result。但是我们并没有触发该事件,并且该现象不是

必然出现,考虑到偶发问题往往跟程序时序有关,于是猜测到组件的实例化上。某次当我们使用该组件时它还没有createionComplete或者initialize。这样就好办了,只要在其creationComplete方法被执行时才真正的给其对象赋值,这样必然能够触发其datachange事件完成数据的绑定,经测试通过。

(编辑:李大同)

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

    推荐文章
      热点阅读