J'ai deux fichiers, main.mxml, le fichier principal, et Test.mxml, un composant ayant pour paramètre "param1".
Cette variable param1 est initialisée avec la valeur "valeur1" dans Test.mxml. Un objet Test est instancé dans Main.mxml avec la valeur "valeur2".
En outre, Main.mxml a aussi un joli bouton qui, une fois cliqué, assigne la valeur "valeur3" à param1.
Le problème est que j'aimerai bien que Test fasse quelque chose quand il reçoit "valeur3", mais comment ?
Tout ce blabla pour dire que çà donne le code suivant:
Main.mxml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*"> <Test id="test" param1="valeur2" /> <mx:Button label="Changee en valeur3"> <mx:click> test.param1 = "valeur3"; </mx:click> </mx:Button> </mx:Application>
Test.mxml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:String id="param1">valeur1</mx:String> <mx:Script> <![CDATA[ //Aucune de ces trois versions ne peuvent etre compilees //public function set param1(): String {} //override public function set param1(): String {} //override final public function set param1(): String {} //Et l'assignation de 'valeur3' n'appelle ni commitProperties ni updateDisplayList non plus. ]]> </mx:Script> </mx:UIComponent>
Y-a-t'il une autre solution que celle-ci:
C'est ce que j'utiliserais d'habitude, mais cette fois j'aimerais garder l'objet "mx:String" histoire de rendre le code le plus lisible possible vu que d'autres personnes devront s'en servir voire y rajouter des choses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ [Bindable] private var _param1: String = ""; public function set param1(value: String): void { _param1 = value; } public function get param1(): String { return _param1; } ]]> </mx:Script> </mx:UIComponent>
Des idées ?![]()
Partager