Bonjour,
Je débute dans le domaine Flex et j'ai encore un peu de mal à comprendre le fonctionnement de certains aspects de Flex dont les évènements. Voici mon problème :
Je réalise une application composée de 20 à 30 écrans. Sur mon écran principal, j'ai un champs de saisie qu'on retrouve sur toutes les vues. Ce champs détermine l'ensemble des données chargées par la suite. Il faut donc que si cette valeur change cela impacte l'ensemble des vues.
J'avais dans un premier temps pensé réaliser cela à l'aide d'évènement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // Dans ma classe tout en haut [Bindable] function set monTextField(newValeur:String):void { this.maValeur = newValeur; dispatchEvent(new Event('valeurChanged')); }Cela ne semble pas marcher, mais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // dans mes vues impactées dans le creation complete function onCreationComplete(event:Event):void { this.addEventListener("valeurChanged", maFonctionDeChargementDeDonnees, true); } public function maFonctionDeChargementDeDonnees(event:Event):void { // Mon traitement }
- L'évènement est créée et lancée.
- Le listener est créé également.
Ma question est donc, comment puis-je notifier mes vues (placés dans un viewstack) sur l'écran principal que la valeur du champs de saisie a changé?
PS :
- Si possible évitons les FlexGlobals.topLevelApplication.monComposant.autrecomposant...
- Aucun framework ne peut être mis en place. (Contraintes imposées non négociables)
Merci d'avance,
Zenklys
Partager