2010-02-04 3 views
2

Un composant est créé lors de l'exécution et un médiateur est créé et enregistré. Tout est bien.Flex PureMVC: Le médiateur ne s'enregistre pas

Dans une vue séparée, une autre instance de ce composant est créée. Le médiateur est créé mais onRegister() n'est pas appelé la 2ème fois. Je ne sais pas si c'est normal ... mais si c'est le cas, comment puis-je l'appeler onRegister() la deuxième fois? Merci. :)

Répondre

4

Je soupçonne que le nom du médiateur n'est pas unique, auquel cas le second médiateur n'est pas enregistré.

De la PureMVC Voir classe:

public function registerMediator(mediator:IMediator) : void 
{ 
    // do not allow re-registration (you must to removeMediator fist) 
    if (mediatorMap[ mediator.getMediatorName() ] != null) return; 
    ... 

Pour plus d'aide comment attribuer le médiateur un nom unique, il serait bon de voir un peu plus de la façon dont vous essayez d'instancier et d'enregistrer votre médiateur.

1

Merci, Mike !!! Après avoir posté ici, j'ai fait quelques recherches de plus et je suis arrivé avec la même conclusion. Je n'avais pas le code source de pureMVC dans le projet sur lequel je travaille, et comme le projet utilise pureMVC v.1.0, je ne savais pas si je pouvais toujours obtenir le code source pour cela. Il sera bientôt mis à jour vers v.2.

Quoi qu'il en soit, j'ai attribué un nom unique au médiateur et lui ai assigné ce nom unique comme identifiant du composant. Voici le lien où il m'a aidé debug:

http://forums.puremvc.org/idex.php?topic=596.0

Espérons que ce sera utile à d'autres PureMVC noobie (comme moi) à l'avenir. :)

+1

Vous pouvez bien sûr obtenir la source de votre version depuis le référentiel SVN de PureMVC: http://svn.puremvc.org/PureMVC_AS3/tags/ –

Questions connexes