2010-01-11 3 views
1

Flex mxml 어플리케이션 파일에서 다른 사용자 정의 컴포넌트 내에서 사용자 정의 컴포넌트를 사용하고 있습니다. 내부 컴포넌트의 컴포넌트를 외부 컴포넌트로 버블 링하고 외부 컴포넌트의 이벤트를 처리 할 수 ​​있습니까? 파견 때Flex의 사용자 정의 컴포넌트 내의 이벤트 버블 링

답변

0
//Outer.mxml 
<local:Inner id="inner"/> 
inner.addEventListener(TYPE_NAME, handler); 
private function handler(e:Event):void 
{ 
    trace("Bingo"); 
} 

//Inner.mxml 
dispatchEvent(new Event(TYPE_NAME)); 
3

예는 당신에 참으로 내부 구성 요소를 재산 bubbles을 설정

내부 구성 요소 :

dispatchEvent(new Event("myEvent", true)); 

외부 구성 요소 :

addEventListener("myEvent", onMyEvent); 
... 
4

Event 생성자는 매개 변수의 기본값을 false으로 지정하므로 Patrick에 언급 한대로 이벤트를 구성 할 때 bubbles에서 true으로 설정해야합니다.

버블 링을 사용하면 Event.stopPropagation 또는 Event.stopImmediatePropagation이 호출 될 때까지 UI 트리에서 계속 이벤트가 전달됩니다.

그러나 버블 링은 UI 구성 요소에만 영향을줍니다. bubbles 인수가 true으로 설정되어 있어도 맞춤 클래스에서 실행 된 이벤트는 거품이 발생하지 않습니다.

관련 문제