[AS 3.0] 이벤트 리스너에 인수 함께 전달하기(3)
원문 : http://d.hatena.ne.jp/nitoyon/20071226/as_event_extra_arg
DynamicEvent 클래스를 이용하는 방법.
먼저 DynamicEvent 클래스를 작성합니다.
package {
import flash.events.Event;
public dynamic class DynamicEvent extends Event {
public function DynamicEvent(type:String,
bubbles:Boolean = false,
cancelable:Boolean = false) {
super(type, bubbles, cancelable);
}
override public function clone():Event {
return new DynamicEvent(type, bubbles, cancelable);
}
}
}
Flex SDK에는 mx.events.DynamicEvent 이라는 클래스가 정의되어 있기 때문에 Flex SDK로 개발하는 경우 이 클래스를 사용하는 것이 좋을지도…
송신은 이렇게~
var event:DynamicEvent = new DynamicEvent("myEvent");
event.param1 = "문자열";
event.param2 = [1, 2, 3]; // 배열도OK
dispatchEvent(event);
dispatchEvent(event);
수신은 이렇게~
addEventListener("myEvent", function(event:DynamicEvent):void {
trace(event.param1); // 문자열
});
