Пузырьковые события в пользовательских компонентах Flex - PullRequest
1 голос
/ 11 января 2010

Я использую пользовательский компонент в другом пользовательском компоненте в файле приложения flex mxml. Можно ли передавать события из внутреннего компонента во внешний компонент и обрабатывать события во внешнем компоненте?

Ответы [ 3 ]

4 голосов
/ 11 января 2010

Конструктор Event по умолчанию для параметра bubbles равен false, поэтому, как упоминает Патрик , вам необходимо установить bubbles на true при создании событие.

Как только всплывет пузырьки, событие будет продолжать отправляться вверх по дереву пользовательского интерфейса до тех пор, пока не будет вызвано Event.stopPropagation или Event.stopImmediatePropagation .

Имейте в виду, что пузырьки влияют только на компоненты пользовательского интерфейса; события, генерируемые из пользовательских классов, не будут пузыриться, даже если для аргумента bubbles установлено значение true.

3 голосов
/ 11 января 2010

Да, просто установите для свойства bubbles значение true во внутренний компонент при отправке:

внутренний компонент:

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

внешний компонент:

addEventListener("myEvent", onMyEvent);
...
0 голосов
/ 11 января 2010
//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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...