Не очень понятно, что вы хотите спросить, но я попытаюсь объяснить код, который я вижу.
Сначала события диспетчеризации и прослушивания выполняются dispatchEvent()
и addEventListener()
из flash.events.EventDispatcher
.Так что вы отправляете событие правильно.Но как насчет прослушивания?Чтобы прослушать событие, вы должны добавить что-то вроде (в том же классе MXML, в который отправляется событие):
addEventListener("buttonToggle", onButtonToggle);
…
private function onButtonToggle(event:Event):void
{
trace("event");
}
Как в вашем примере речь идет не об обработке событий, а о привязке данных ,И, конечно, привязка данных зависит от диспетчеризации / обработки событий изнутри, но существуют некоторые ограничения, чтобы проверить, работает ли диспетчеризация событий с использованием привязки данных.
Прежде всего, вы используете функцию в качестве источникапривязки данных .И есть проблемы с этим:
- Использование привязываемой функции без возврата значения (у вас есть
void
) не имеет смысла. - Даже если ваша функция вернет значение, оно выигралоне вызывайте, если в атрибутах MXML нет никаких привязок к этой функции.
Но для решения проблемы вашего кода (но не вашего вопроса) нам нужно иметь больше информации о вашей цели и больше кодао вашей реализации.
Для простейшего способа обработки событий компонентов MXML внутри одного компонента вы можете использовать очень простые обработчики:
<s:Button x="50" y="10" label="Button" click="myClickHandler()"/>
и:
private function myClickHandler():void
{
trace("Event");
}
Вы можете прочитать больше об обработке событий из официальной документации .