我似乎遇到了一个问题(无法访问null对象引用的属性或方法)将actionscript中的事件绑定到当前未显示的viewstack层。是否在第一次看到该图层之前才创建这些对象?我记得有关创建策略的一些内容,如果是这种情况,我可以强制它在查看该层之前创建这些子项吗?
答案 0 :(得分:16)
是的,没错 - ViewStack子项只在默认情况下需要时创建(“延迟实例化”是您在此上下文中会听到的一个短语)。如果您希望指示Flex预先创建所有ViewStack容器的子项,请考虑使用所有mx.core.Containers
共有的 creationPolicy 属性:
创建策略 ContainerCreationPolicy.ALL意味着 导航器容器立即 为每个人创造更深层次的后代 孩子,而不是等到那个 孩子被选中了。
<mx:ViewStack id="myStack" creationPolicy="all" />
启动时速度有点慢,因为你正在创建一些你可能不需要的子组件,但只要你记住这种权衡,它可能会在某个时候派上用场。
答案 1 :(得分:2)
是的,我在处理具有PureMVC结构的应用程序时遇到了同样的问题。我无法为ViewStack的子组件创建调解器,因为它们是由Flex框架懒得构建的。
这是我最终找到解决方案的地方:
答案 2 :(得分:0)
找到相关文档here。似乎这是你在容器文档上记下的东西。