본문 바로가기

공부방/Flex

[Flex] 커스텀 dispatchevent 사용 하기 !

팝업으로 띄운 컴퍼넌트에서 팝업을 호출한 부모 컴퍼넌트로 데이터를 전달 하는 방법은 여러가지가 있다.
그러나  팝업 컴퍼넌트에서 dispatchevent를 정의 하고 부모 컴퍼넌트에서 addEventListner를 이용해서 접근 하는 방법을 사용 하고 있는데 데이터를 어떻게 하면 전달 할 수 있을까? 라는 궁금증이 생겼다. 또 열심히 구글링을 하다. 커스텀 dispatchevent를 정의해서 사용 하는 방법이 있어서 글을 올립니다. 공유 하면 좋은거니깐 ^^;;

public class TestDispatchEvent extends Event     //이벤트를 extends 해야 됨.
{
	public static const TEST_DISPATCH_EVENT : String  = 'test_dispatch_event';
	public var data:Object;   //데이터 ㅋㅋ

	public function 
TestDispatchEvent (type:String , data:Object){
		this.super(type);
		this.data =  data;
	}

     override public function clone():Event{
		return new TestDispatchEvent (type,data);
	}

========================================================
사용 하는 방법은 
dispatchEvent(new TestDispatchEvent (TestDispatchEvent.TEST_DISPATCH_EVENT, obj));
로 dispatchEvent를 정의 하면 됩니다.

addEventListner(
TestDispatchEvent .TEST_DISPATCH_EVENT, 함수이름);

public function 함수이름(event:Event){
	var obj:Object;
	obj = event['data']; 
}