【问题标题】:How to access root in Flex3/AS3?如何在 Flex3/AS3 中访问 root?
【发布时间】:2010-02-24 13:24:19
【问题描述】:

假设我在我的主 mxml 和这样的函数中有代码:

this.addChild(someContainer);

现在我想重构代码并将其移动到它自己的类和方法中的单独文件中。我现在怎么能访问 root,因为这显然指向了我创建的新类。

【问题讨论】:

  • 您想让孩子将自己添加到他的父母中吗?这是不可能的..

标签: apache-flex actionscript-3 flex3


【解决方案1】:

您可以使用 Application.application、Application.root 或 event this.root 之类的东西(取决于您的需要)

但我不建议这样做(尝试重构您的代码,以便您可以将引用传递给您的 main 或类似的东西......)。

问题是:您新创建的类是否会负责将子组件添加到组件中?那么我建议您改为将其传递给任何类型的 Container 的引用;在你的主 mxml 中,你将引用传递给 root。

也可能是新类只负责暴露要添加的东西;在这种情况下,您可能会将“this.addChild(...)”代码留在主代码中。

希望这会有所帮助。

【讨论】:

  • 我尝试将它从 Main 传递到类构造函数中以缓存它并从那里使用它,但我无法从那里访问 addChild。 Application.application.addChild 似乎可以解决问题。
  • 你说得对,我想我混合了 Application.application、Application.root 和 this.root ...我会修正我的答案。
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-01
相关资源
最近更新 更多