Я думал, что у меня есть собственные события во Flex, но, похоже, нет. Я пытаюсь свободно связать свое приложение, распределяя события между классами, вместо того, чтобы использовать ужасные выражения parent.parent.parent.
У меня есть ComboBox внутри пользовательского класса HBox ... для простоты я делаю следующее
public function onComboBoxChange(event:MouseEvent):void {
trace("dispatching event");
dispatchEvent(new Event("hello"));
}
У меня есть собственный класс List, который я хотел бы ответить на событие ...
public function CustomList() {
//...
this.addEventListener(FlexEvent.INITIALIZE, onInit);
}
private function onInit(event:FlexEvent):void {
this.addEventListener("hello", onHello);
}
private function onHello(event:Event):void {
trace("oh hello");
}
Однако слушатель события никогда не вызывается.
И CustomList, и CustomHBox имеют одного и того же родителя.
У меня сложилось впечатление, что вы можете отправить событие из любого объекта, и все другие активные объекты смогут его прослушать. Не так просто?
Спасибо!