Для запуска функции в другом представлении (компонент AKA) Это в значительной степени зависит от архитектуры. Похоже, вы хотите запустить функцию в своем родителе. В этом случае метод «правильной инкапсуляции» заключается в отправке события из component1; прослушать событие в компоненте parent1s; и выполнить функцию из прослушивателя событий.
Итак, где-то в родительской панели заголовка, добавьте прослушиватель событий:
headerbarInstance.addEventListener('parentDoSomething', onHeaderBarToldMeTo);
Я бы, вероятно, добавил это в конструктор, если компонент ActionSCript 3, или в обработчик события предварительной инициализации, если компонент MXML. Компоненту 'parent' также понадобится функция слушателя:
protected function onHeaderBarToldMeTo(event:Event):void{
erase();
}
Когда щелкает компонент кнопки в headerbar.mxml, и это запускает обработчик события щелчка внутри панели заголовка, который должен отправить событие, например:
protected function onButtonInheaderbarClick(Event:Event):void{
dispatchEvent(new Event('parentDoSomething'));
}
И все должно волшебным образом работать. Возможно, вам придется вспомнить событие, если функция не находится внутри прямого потомка родителя.
Если вас не волнует инкапсуляция, вы также можете просто получить доступ к родителю напрямую. Таким образом, ваш компонент панели заголовка сделает это:
parent.erase();
Это просто и прямо, и должно работать, но считается ужасно плохой практикой с точки зрения обслуживания.