Flex自定义组件,事件和范围

时间:2012-04-16 05:20:05

标签: flex events scope

我开始放弃Flex论坛,所以我会在这里重新发帖,看看情况如何。长时间潜伏,第一次海报; - )

我在舞台上捕获键盘事件并通过框架调度自定义事件(Mate,虽然我不知道这是一个重要问题),但我对范围感到困惑。结构是:

- 应用程序(陷阱键盘事件和调度自定义事件

 --  mainPanel (receives dispatched events but mainCalendar (a child element) 
     is null on debugging. Obviously if I try to call a public method on 
     mainCalendar it errors out, even though it's a child of mainPanel. 
     However, mainCalendar is NOT null IF I use 
     FlexGlobals.topLevelApplication.mainPanel.mainCalendar.
     Outerdocument and parentDocument do not expose mainCalendar either, BTW

     --  mainCalendar (a custom component inside mainPanel with public methods. 
         Creation policy is 'all' and it's visible and exists long before I 
         trap any keystrokes at the top level)

有人花一点时间解释为什么当mainPanel收到自定义事件时mainCalendar超出范围,即使mainCalendar是mainPanel的子节点。有没有更好的方法来管理事件,所以我不必总是通过topLevelApplication来解决组件?

由于

1 个答案:

答案 0 :(得分:1)

(创建答案,以便将此问题标记为已回答)
通常,当对component的引用为null且不应该引用时,这意味着尚未创建组件。这可能发生在应用程序initialize事件之前,或者如果组件的父项不可见且未经过验证。