4

我似乎遇到了一个问题(无法访问空对象引用的属性或方法)将 actionscript 中的事件绑定到当前未显示的 viewstack 层。直到该层第一次可见时才创建这些对象吗?我记得有关创建策略的一些内容,如果是这种情况,我可以强制它在查看该图层之前创建那些子级吗?

4

3 回答 3

16

是的,没错——默认情况下,ViewStack 子项仅在需要时创建(“延迟实例化”是您在此上下文中听到的短语)。相反,如果您想指示 Flex 预先创建所有 ViewStack 容器的子容器,请考虑使用对 all 通用的creationPolicy属性mx.core.Containers

ContainerCreationPolicy.ALL 的 creationPolicy 意味着导航器容器会立即为每个孩子创建更深的后代,而不是等到该孩子被选中。

<mx:ViewStack id="myStack" creationPolicy="all" />

它在启动时有点慢,因为您正在创建一堆您可能还不需要的子组件,但只要您牢记这种权衡,它可能会在某个时候派上用场。

于 2009-02-06T00:02:00.617 回答
2

是的,我自己在处理具有 PureMVC 结构的应用程序时也遇到了同样的问题。我无法为 ViewStack 的子组件创建中介,因为它们是由 Flex 框架懒惰地构建的。

这是我最终找到解决方案的地方:

http://forums.puremvc.org/index.php?topic=280.0

于 2009-02-05T23:48:50.300 回答
0

在这里找到相关文档。似乎这将是您在容器文档中记下的内容。

于 2009-02-05T23:57:01.097 回答