Formation flex : Echanger des données entre composants
Par Dai, mercredi 30 janvier 2008 à 19:02 :: Cours et Formation Flex - AIR :: #46 :: rss
Dans ce chapitre 12, nous allons voir comment transférer les données entre différents composants de notre application.
Et voici le sommaire de ce cours :
1.Echanger des données entre composants
2.Définir et Emettre nos propres événements
3.Gérer nos propres événements
1.Echanger des données entre composants
Avant, on transmettait une valeur directement à la propriété du composant, par exemple :
<MyComponent myProp= value>
Et dans MyComponent.mxml, nous avions
<mx :script> < ![CDATA[ Var :myProp :String ; ]]> </mx :script>
Ou alors, on récupérait la valeur à l’intérieur d’un composant pour la passer à un autre.
Ces méthodes sont plus faciles à mettre en place, mais le souci c’est que vos composants sont dépendants des autres (couplage fort).
C’est pourquoi, nous allons aborder une autre solution afin de faire la chose plus proprement, mais surtout cela permettra une réutilisation et une maintenabilité plus grande des composants et de l’application.
Voici le principe de l’utilisation des événements pour les échanges de données
2.Définir et Emettre nos propres événements
Définissez votre événement avec :
<mx:Metadata> Event(“myEvent") </mx:Metadata>
Emettez ensuite votre propre événement avec :
dispatchEvent(…);
Vous trouverez plus de detail dans le pack. Et voici un exemple simple de ce que vous aurez :
<mx:Metadata> Event(“typeEvent") </mx:Metadata>
<mx:Script>
<![CDATA[
function makeEvent():Void {
dispatchEvent(
new CustomEvent(“typeEvent”, “My own data”));
}
]]>
</mx:Script>
<mx:Button label="Button" click="makeEvent()" />
3.Gérer nos propres événements
Gérer les événements spécifiques des composants comme s’il s’agissait d’événements standards
<mx:Button click="ActionScript">
Vous pouvez affecter les valeurs de l’objet événement à des variables de l’application (ou des champs de modèle) de façon qu’elles puissent être passées/utilisées par d’autres componants
Exemple :
<mx:Script> <![CDATA[ Bindable public var newProp:String; ]]> </mx:Script> <MyComp1 typeEvent="newProp=CustomEvent(event).myOwnData"/> <MyComp2 myProp="{newProp}"/>
Ici dès que l’événement « event » est emis, sa valeur est affectée à « newProp » qui sera transférée à la propriété du comp2.
Téléchargement
télécharger le pack du chapitre 12 :flex 2 - Echanger des données entre composants





Commentaires
1. Le vendredi 20 juin 2008 à 12:24, par pierre
2. Le samedi 21 juin 2008 à 12:36, par dai
3. Le jeudi 3 juillet 2008 à 10:48, par pierre
4. Le jeudi 3 juillet 2008 à 10:54, par dai
Ajouter un commentaire