Выгрузка обработки событий модуля в flex - PullRequest
0 голосов
/ 13 октября 2010

Я занимаюсь разработкой приложения AIR. В основном приложении у меня есть загрузчик модулей 'mainModuleLoader'. Я создаю модули как отдельные файлы mxml, используя тег <mx:Module>. И я загружаю такой модуль в mainModuleLoader динамически, используя actionscript. Все отлично работает.

Для модуля, который я создаю в виде mxml-файлов, я хотел бы знать, как добавить обработчик события unload. Так что всякий раз, когда я вызываю mainModuleLoader.unload (), обработчик события unload запускается изнутри module.mxml. Я попробовал следующее без какого-либо успеха.

<mx:Module creatingComplete="init()" unload="unloadHandler()"/>
<mx:Module creatingComplete="init()" remove="unloadHandler()"/>

Проблема со вторым оператором выше заключается в том, что он вызывает unloadHandler, даже если какой-либо дочерний элемент удален внутри модуля. Я также попытался добавить следующее в сценарий действия.

private function init()
{
  this.addEventListener(ModuleEvent.UNLOAD, unloadHandler);
}

Но он не срабатывает при выгрузке модуля. Пожалуйста, дайте мне знать, если я что-то не так или есть какой-либо другой метод для подключения обработчиков событий. Спасибо !!

Ответы [ 2 ]

1 голос
/ 20 октября 2010

Вы на полпути с удалением;просто убедитесь, что event.target является модулем, прежде чем выполнять свою работу.Тогда он проигнорирует другие.

0 голосов
/ 13 октября 2010

Я думаю, вы должны обработать событие unload вашего mainModuleLoader:

<mx:ModuleLoader id="mainModuleLoader" unload="unloadHandler()"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...