为什么定义事件用<mx:Metadata> 标签
定义方法方式:
<mx:Metadata>
[Event(name="dataShare",type="flash.events.TextEvent")]
</mx:Metadata>
与定义enableChange1 extends Event 有什么区别啊?
用<mx:Metadata> 方式 声明后 ,在组件中 可以直接调用事件,用继承方式实现的事件,必须加监听事件。
/* private function init():void{
this.addEventListener("dataShare",enableChangeHandler);
}
private function enableChangeHandler(event:Event):void{
Alert.show(event.type);
} */
加了 <mx:Metadata>后 可以在组件直接用
<local:btn id="xx" dataShare="dataShareHandler(event)"/>
相当于加了监听,所以说加了<mx:Metadata>后更简练
参考 http://www.flashas.net/flex/20090910/4505.html