0

我有一个 Flex 应用程序,它引用一个单独的 MXML 文件作为自定义组件的模板。我在我的程序中多次动态创建组件的实例,但我需要获得一个句柄,以便我可以根据需要修改该组件的实例。

我使用组件的 MXML 文件中的可绑定公共变量在实例化时将特定信息传递给该组件。我使用 addChild() 将它添加到我的主程序中。

我想根据需要更新组件的进度条,并且我想将它从我 addChild 的框中删除。

获得一个变量的最简单/最好的方法是什么,它可以让我对每个组件进行可预测的访问,以便我可以根据需要轻松操作组件?一些研究表明creationComplete,但我认为直接询问比进行许多不同的实验并出现空白要快。

感谢所有的帮助。:)

4

1 回答 1

2

你能不能把你的组件列表保存在一个数组中?大概当您创建它们并在其父对象上调用 addChild() 时,您有一个对象引用。为什么不同时将它们放在一个数组中呢?

var list_of_controls:Array = new Array();
var new_Object:<yourType>;

new_Object = new <yourType>();
parent.addChild(new_Object);
list_of_controls.push(new_Object);

然后你就可以对付他们了……

var my_Object:<yourType>;
for each (my_Object in list_of_controls)
{
    // do something
}

您必须确保在完成后正确处理它们,因为数组中的引用将使它们保持存在直到被清除。

如果您决定要使用 getChildren() 代替 - 你可以 - 花时间阅读文档,因为我认为它会在每次调用时返回一个新数组。

我希望这会有所帮助。

于 2009-11-10T17:15:08.003 回答