Comment créer le modèle d'instance qui peut être partagée à travers un composant (qui peut être créé plus d'une fois)

StackOverflow https://stackoverflow.com/questions/2874429

Question

Je suis en train de créer une structure modulaire qui finira par vivre dans un autre actionscript / application Flex. J'utilise cairngorm dans l'application à l'extérieur et je voudrais créer plus d'une instance de ce nouveau composant dans l'application à l'intérieur. Cairngorm ne fonctionne pas pour créer des composants en double multiples en raison de la nature singleton du modèle.

Le composant que je crée est une visionneuse vidéo pseudo. Je voudrais avoir un modèle partagé au sein de cette instance de composant. Je suis aux prises avec un moyen de partager un modèle unique au sein du composant. Si j'utilise le modèle singleton, je ne peux pas créer plus d'une instance de ce composant. Si je crée une instance et laissez-le faire composante assurer qu'il n'y a qu'un seul, alors j'ai du mal à passer le modèle facilement à tous les composants qui le souhaitent. Ceci est particulièrement difficile parce que les composants .mxml ne peuvent pas avoir un constructeur où je passerais dans le modèle.

Je pensais avoir chaque composante demander à son parent pour le module jusqu'à ce qu'un élément avait. Il faudrait pour cela que chaque composant ont cette interface mis en œuvre et se sent un peu dégueu pour moi.

Quelqu'un sait-il un moyen de créer une variable d'instance dans un composant de sorte que plusieurs composants peuvent être créer, mais aussi partager ce modèle facilement tout au long de ce composant?

Était-ce utile?

La solution

La nouvelle version Swiz ( 1.0.0) a la réponse à cette question. Vous pouvez maintenant créer plus d'une instance de Swiz dans un projet et la configuration d'une relation parent-enfant. La page de support du module est où ils expliquent le mieux ( http: //swizframework.jira. com / wiki / affichage / Swiz / Module + support ) mais vous n'avez pas fait d'utiliser des modules, toute relation parent-enfant travaillera.

Rappelez-vous que pour garder tous les gestionnaire d'événements de répondre à un événement d'une vue enfant, vous devez définir la portée EventHandler au niveau local, par exemple:

[EventHandler( event="TestEvent.SAVE_USER_REQUESTED", scope="local")]
public function handleEvent(event:Event):void {
    //do stuff
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top