Flash Media Server学习站>>www.FMScn.com
<ui:APanel id="a_panel" creationComplete="trace(1)">
</ui:APanel>
<ui:BPanel id="b_panel" creationComplete="trace(2)">
</ui:BPanel>
</mx:ViewStack>
只会trace出来 1
这个叫做 deferred instantiation ,是为了性能考虑,需要的时候才实例化
但有些时候,没显示的子对象,需要监听外部的一些事件 ...但没被实例化当然监听不到啊 ? 所以以前写这块的地方要额外注意..
今天才发现ViewStack原来有继承Container这个叫做 creationPolicy 的属性~~ ,可以设置子对象默认的创建策略
加一个 creationPolicy="all" ,就可以让ViewStack建立的时候把所有子对象都实例化,哈哈,这样就可以监听到外边的事件了 ~~~
<ui:APanel id="a_panel" creationComplete="trace(1)">
</ui:APanel>
<ui:BPanel id="b_panel" creationComplete="trace(2)">
</ui:BPanel>
</mx:ViewStack>
这样,1,2都被trace出来了 :)
具体见帮助文档 Container的 creationPolicy 属性
上一篇:Working with FlexBuilder3 + Subversion 下一篇:FLEX里的动态Event类:DynamicEvent
Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询:
admin#flashas.net (#为@) 联系QQ:
:40777822
浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)