gpt4 book ai didi

actionscript-3 - 您可以在 Flex 3 中为非基于 UIComponent 的对象创建自定义事件吗?

转载 作者:行者123 更新时间:2023-12-04 06:40:46 25 4
gpt4 key购买 nike

我有一个简单的对象,它从 Google Maps API 获取地理编码数据,我希望它根据 Google 的响应分派(dispatch)一组自定义事件。但是,我在这个类上没有 addEventListener() 和 dispatchEvent() 方法,因为它没有扩展 UIComponent。有没有一种方法可以在不继承 UIComponent 的情况下在 Flex 3 中创建自定义事件?

最佳答案

绝对是的。要利用事件处理,您的自定义对象应该扩展 EventDispatcher:

public class MyClass extends EventDispatcher
{
// ...

public function myFunction():void
{
dispatchEvent(new Event("myEvent"));
}
}

这负责调度事件。

然后,如果您有需要,您还可以创建一个单独的类来扩展 Event,这使您可以选择(除其他外)附加特定于事件的数据以在处理程序中使用:

public class MyClass extends EventDispatcher
{
// ...

public function myFunction():void
{
dispatchEvent(new MyEvent(someData));
}
}

public class MyEvent extends Event
{
private var _myEventData:Object;

public function MyEvent(eventData:Object)
{
_myEventData = eventData;
}
}

.. 那么在您的处理程序中,您只需:

private function myHandler(event:MyEvent):void
{
trace(event.myEventData.toString());
}

有道理吗?

关于actionscript-3 - 您可以在 Flex 3 中为非基于 UIComponent 的对象创建自定义事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/444754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com