Flex PureMVC: mediador não registrando
-
25-09-2019 - |
Pergunta
Um componente é criado em tempo de execução e um mediador é criado e registrado. Tudo está bem.
Em uma visão separada, outra instância desse componente é criada. O mediador é criado, mas o OnRegister () não é chamado da segunda vez. Não sei se isso é normal ... mas se é, como faço para que ele ligue para o OnRegister () na segunda vez? Obrigado. :)
Solução
Suspeito que o nome do mediador não seja único; nesse caso, o segundo mediador não está registrado.
Da classe PureMVC View:
public function registerMediator( mediator:IMediator ) : void
{
// do not allow re-registration (you must to removeMediator fist)
if ( mediatorMap[ mediator.getMediatorName() ] != null ) return;
...
Para obter mais ajuda para atribuir um nome único ao mediador, seria bom ver um pouco mais de como você está tentando instanciar e registrar seu mediador.
Outras dicas
Obrigado, Mike !!! Depois de postar aqui, fiz mais algumas pesquisas e cheguei com a mesma conclusão. Eu não tinha o código -fonte do PureMVC no projeto em que estou trabalhando e, como o projeto está usando o PureMVC v.1.0, não sabia se ainda poderia obter o código -fonte para isso. Será atualizado para v.2 em breve.
De qualquer forma, atribuí um nome exclusivo ao mediador e atribuí esse nome exclusivo como o ID do componente. Aqui está o link para onde me ajudou a depurar:
http://forums.pureremvc.org/idex.php?topic=596.0
Felizmente, será útil para outro PureMVC Noobie (como eu) no futuro. :)