comment puis-je transmettre les valeurs de mes composants personnalisés au main.mxml? je dois faire ceci pour passer en arrière une collection de rangéepasser des valeurs entre les composants personnalisés dans Flex - mxml
Répondre
Vous pouvez appeler directement dans Application en utilisant le static Application.application.yourPublicMethodName() ou .yourPublicPropertyName = n, mais vous pouvez également envisager d'utiliser le framework d'événements, afin de conserver un couplage lâche de vos composants. Comme votre composant est par définition un répartiteur d'événements, vous pouvez simplement y envoyer un événement et demander à votre classe Application d'écouter cet événement.
Dans MXML, qui ressemble à quelque chose comme ça, pour la classe de composants:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Metadata>
[Event(name="buttonClicked", type="flash.events.Event")]
</mx:Metadata>
<mx:Script>
<![CDATA[
public var someValue:int = 0;
private function buttonClick():void
{
someValue = 1;
dispatchEvent(new Event("buttonClicked"));
}
]]>
</mx:Script>
<mx:Button label="Click Me" click="buttonClick()" />
</mx:Canvas>
... et pour l'application, comme ceci:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function myComponent_buttonClicked(event:Event):void
{
Alert.show(event.currentTarget.someValue.toString());
}
]]>
</mx:Script>
<local:MyComponent buttonClicked="myComponent_buttonClicked(event)" />
</mx:Application>
La balise de métadonnées de l'événement dans le composant class indique au compilateur que le composant distribue un événement de type flash.events.Event ("buttonClicked"), qui l'expose comme un événement sur la balise MyComponent; Ensuite, tout ce que vous avez à faire est de câbler un écouteur pour cet événement, et grâce à la propriété currentTarget de l'événement, vous avez accès à toutes les données publiques du composant.
Je pensais juste offrir une alternative intéressante pour toi. J'espère que cela aide!
l'ai; juste nécessaire pour importer mx.core.Application;
- 1. Passer les données entre les composants flex
- 2. Communication Flex pour les composants personnalisés
- 3. Miniatures pour les composants mxml dans Flex
- 4. Composants personnalisés Flex
- 5. Didacticiel sur les composants personnalisés Flex
- 6. Flex 3 positionnement des composants personnalisés - popups
- 7. Flex Drag n drop entre les composants
- 8. Comment répartir l'événement entre les composants dans Flex?
- 9. Événement Click-outside sur des composants personnalisés dans flex
- 10. Flex Composants créés dynamiquement ajoutés aux composants personnalisés
- 11. Passer des valeurs entre les lignes dans la colonne unique,
- 12. comment passer un tableau de valeurs d'un composant mxml à un autre dans Flex?
- 13. Passer des valeurs entre les contrôles utilisateur Web
- 14. ApplicationConnexion à des composants personnalisés
- 15. Composants personnalisés JSF ResponseWriter
- 16. Ajout de composants à CoverFlow dans Flex
- 17. Comment créer des composants GUI personnalisés?
- 18. Flex: Quelle est la différence entre un "composant" MXML et un "module" MXML?
- 19. Propriété Left dans MXML - Flex 4 SDK
- 20. Utilisation de composants flex dans une application papervision3d
- 21. PHP passer des messages entre les pages
- 22. VS2008: composants personnalisés imbriqués dans la conception
- 23. Quel conteneur est généralement utilisé pour le chargement de nouveaux composants personnalisés dans Flex?
- 24. Visibilité des composants Flex sur l'application
- 25. Ajout de composants flex en utilisant xml
- 26. Donner à Flex MXML des vues de leurs dépendances
- 27. flex 3 ordre de chargement des composants
- 28. Chargement de JList avec des composants/valeurs
- 29. Comment accéder aux éléments DOM mxml (Flex)?
- 30. Passer des paramètres entre JSPs