自定义组件中的事件问题

时间:2010-09-11 22:55:30

标签: flex events custom-component

我刚开始使用自定义组件中的自定义事件。我还没有完全掌握它。

我有一个带有按钮的组件。当它被点击时,我想在主应用程序中调用一个函数。

自定义组件:

<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute"  >


<mx:Metadata>
    [Event(name="goClick", type="mx.events.Event")]
</mx:Metadata>

<mx:Script>
        <![CDATA[

    private function onButtonClickHandler(event:MouseEvent):void {
        dispatchEvent(new Event("goClick"));
    }
        ]]>
</mx:Script>

      <mx:Button id="myGoButton" label="Go"  
          click="onButtonClickHandler(MouseEvent)"  />

</mx:Panel>

主要应用程序:

<myFolder:MyComponent
    goClick="MyCoolFunction()">

不幸的是,我做错了什么。它表示事件类型不可用。我需要更改或添加什么?我的猜测是我需要以某种方式声明goClick?

谢谢!

-Laxmidi

1 个答案:

答案 0 :(得分:3)

除非您创建了一个类,否则不要使用mx.events.Event这样的类。把它改成flash.events.Event,你就可以了。

如果您确实创建了'mx.events.Event'类,请确保您的dispatch事件是创建自定义类的实例而不是flash.events.Event。