代码之家  ›  专栏  ›  技术社区  ›  user8032

在FLEX中重新调度事件

  •  12
  • user8032  · 技术社区  · 17 年前

    在FLEX应用程序中,我尝试“重新分派”自定义事件。也就是说,component1不dispatchEvnet(事件),component2为事件注册一个处理程序,处理程序的唯一功能也是dispatch(事件)。最后,component3侦听来自component2的事件。我试图做的与“重新抛出”异常的概念类似(出于类似的原因)。不同之处在于,在AS3(Flash 10)中,重新调度似乎不起作用。在IE中,什么都没有发生,在FF3中有一个异常,即在调用component3中的处理程序时,试图将事件类型强制转换为my CustomEvent时类型转换失败。调试器中的跟踪代码表明,在调用component3时,事件实际上是一个泛型事件,所有自定义内容都丢失了。应该是这样吗?

    2 回复  |  直到 17 年前
        1
  •  19
  •   Richard Szalay    17 年前

    您遇到的问题是由于未覆盖 clone()

    从文件中:

    创建自己的自定义事件类时,必须重写继承的Event.clone()方法,以便复制自定义类的属性。如果未设置在事件子类中添加的所有属性,则当侦听器处理重新修补的事件时,这些属性的值将不正确。

        2
  •  0
  •   sdsd sdsd    17 年前
    推荐文章