我在包含层次结构中有一个actionscript实例化的组件;它扩展了ComboBox,但它是动态实例化的 - 你永远不知道什么时候你需要它。
在其包含层次结构的某个地方,有一个扩展NavigatorContent的东西,它在逻辑上是放置所述组合框的有效值的正确位置。
该子组件获取对该组有效值的引用的规范方法是什么?
答案 0 :(得分:1)
我会通过让孩子在创建时发送一个带有自我引用的冒泡事件(CHILD_CREATED)来解决这个问题。然后,只需在有权访问该组有效值的对象中侦听CHILD_CREATED事件。
#1 创建父级 - 添加一个侦听器以了解子级何时创建并需要引用值
#2 已创建子项 - 以自引用作为属性调度CHILD_CREATED动态事件
#3 父母听到CHILD_CREATED - 提取对子组件的引用,并将其数据提供者设置为有效值集。
修改强>
如果您正在处理基于DataGroup的组件,那么处理此类问题的更简洁的方法是使用rendererAdd(在事件中对渲染器有一定的参考)。 这绝对是处理它的规范方式。
因此,如果您使用DataGroup显示需要直接访问的组件,请使用rendererAdd事件。如果这不适用于您的问题,我会使用CHILD_CREATED方法。
答案 1 :(得分:1)
我认为没有一种规范方法可以解决这个问题。有很多可能的解决方案。你可以:
我确信还有更多。
这完全取决于您的程序正在做什么,层次结构的其余部分如何协同工作,何时以及是否更新这些值,以及需要满足的其他任何要求。
从那里开始,然后看看人们在这里提出的建议,并选择一个最适合你的场景的建议。