Je développe une application AIR. Dans l'application principale, j'ai un chargeur de module 'mainModuleLoader'. Je crée des modules en tant que fichiers mxml distincts à l'aide de la balise <mx:Module>
. Et je charge dynamiquement un tel module dans MainModuleLoader en utilisant ActionScript. Tout fonctionne bien.Décharger le module de gestion des événements en flex
Pour le module que je crée en tant que fichiers mxml, j'aimerais savoir comment ajouter un gestionnaire d'événements Unload. Ainsi, chaque fois que j'appelle mainModuleLoader.unload(), le gestionnaire d'événement unload est déclenché depuis le module.mxml. J'ai essayé ce qui suit sans succès.
<mx:Module creatingComplete="init()" unload="unloadHandler()"/>
<mx:Module creatingComplete="init()" remove="unloadHandler()"/>
Le problème avec la deuxième déclaration est au-dessus qu'il déclenche l'unLoadHandler même si certains enfant est retiré à l'intérieur du module. J'ai également essayé d'ajouter ce qui suit dans le script d'action.
private function init()
{
this.addEventListener(ModuleEvent.UNLOAD, unloadHandler);
}
Mais, il ne se déclenche pas lors du déchargement du module. Veuillez me faire savoir si je me trompe quelque part ou s'il y a une autre méthode pour attacher les gestionnaires d'événements. Merci!
Merci Gregor !! Celui-ci résout mon problème. :) dans le gestionnaire de suppression, j'utilise simplement if (! (evt.target is myModule)) return; – Goje87