2009-02-05 7 views
4

Il semble que je rencontre un problème (Impossible d'accéder à une propriété ou à une méthode d'une référence d'objet NULL) reliant des événements dans actionscript à une couche viewstack qui n'est pas actuellement affichée. Ces objets ne sont-ils pas créés jusqu'à ce que cette couche soit visible pour la première fois? Je me souviens de quelque chose au sujet d'une politique de création, si c'est le cas, puis-je le forcer à créer ces enfants avant que cette couche ne soit vue?Les enfants de Flex Viewstack, si vous ne pouvez pas les voir, existent-ils?

Répondre

16

Oui, c'est vrai - les enfants ViewStack sont créés uniquement lorsque cela est nécessaire par défaut ("instanciation différée" est une phrase que vous entendrez dans ce contexte). Si au contraire vous souhaitez demander à Flex pour créer tous les enfants de conteneurs ViewStack avant, pensez à utiliser la creationPolicy propriété commune à tous mx.core.Containers:

creationPolicy de ContainerCreationPolicy.ALL signifie que les conteneurs de navigateur immédiatement créer des descendants plus profonds pour chaque enfant , plutôt que d'attendre que l'enfant soit sélectionné.

<mx:ViewStack id="myStack" creationPolicy="all" /> 

Il est un peu plus lent au démarrage, parce que vous créez un groupe de composants enfant vous pourriez ne pas avoir besoin encore, mais aussi longtemps que vous gardez ce compromis entre à l'esprit, il peut venir parfois à portée de main.

2

Oui, j'ai eu moi-même le même problème en travaillant sur une application avec une structure PureMVC. J'ai été incapable de créer des médiateurs pour les sous-composants d'un ViewStack parce qu'ils ont été construits paresseusement par le framework Flex.

est ici où j'ai finalement trouvé ma solution:

http://forums.puremvc.org/index.php?topic=280.0

0

Trouvé la documentation pertinente here. On dirait que ce serait quelque chose que vous noteriez sur les documents du conteneur.

Questions connexes