Flex ActionScript – ActionScript Nested et blocs mx:Script
ActionScript Nested
Vous pouvez inclure du code ActionScript dans des tags MXML. Vous pouvez les inclure comme vous le feriez pour les propriétés. Vous devez placer le code dans un bloc CDATA.
Voici un exemple:
<mx:Button>
<mx:click>
<![CDATA[
mx.controls.Alert.show("Exemple");
]]>
</mx:click>
</mx:Button>
Scripts MXML <mx:Script>
Vous pouvez aussi ajouter du code à une application en le plaçant dans un bloc script. Un script MXML apparaît dans un document à l'intérieur d'un élément Script.
Puisque le code ActionScript pourrait utiliser des caractères spéciaux qui pourraient être interprétés pas le compilateur MXML, vous devez placer le code ActionScript dans un tag script, mais aussi dans un bloc CDATA, comme dans l'exemple suivant:
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function exemple():void{
Alert.show("Exemple");
}
]]>
</mx:Script>
Vous pouvez aussi placer les blocs de code ActionScript dans des fichiers séparés, et vous pouvez les inclure dans un bloc Script en utilisant l'attribut "source" d'un tag Script:
<mx:Script source="code.as"/>
Articles similaires
- Flex ActionScript – ActionScript Inline, code dans un tag MXML
- Flex PopUp – Ouvrir une PopUp avec la classe Alert
- Flex PopUp – Ajouter une icône dans la barre de titre d'une Alert
- Flex PopUp – Utiliser des icônes dans une Alert Flex
- Flex PopUp – Savoir quel bouton a été cliqué dans une Alert (Ok, Cancel, Yes, No)






12 novembre 2008
Merci encore pour ces explications. C'est le meilleur cours de Flex que j'ai vu! C'est mieux que la documentation d'Adobe. Grace à ce cours je réalise que Flex est vraiment simple.
3 novembre 2009
Merci,
manque juste une explication sur le trace avec mxml.
J'ai une version avec debugger de flashplayer10 mais les trace ne fonctionnent pas ??Et j'utilise FD et flexsdk compiler.
@+
3 novembre 2009
Salut,
assures-toi que tu compiles bien en debug (-debug=true), que ta version est debugger:
http://www.flex-tutorial.fr/2008/07/15/flex-debug-debugger-avec-le-flash-debug-player/
Et que ton mm.cfg soit bien configuré (+ redémarrage du navigateur):
http://blog.flexexamples.com/2007/08/26/debugging-flex-applications-with-mmcfg-and-flashlogtxt/
Fabien
29 novembre 2009
Salut,
Je ne sais ou mettre ce poste n'ayant pas trouvé d'article sur le composant repeater...(En espérant que ce commentaire sois redirigé au bon endroit, si cela est possible. Désolé d'avance)
J'obtiens cette erreure : '{identifiant+RP.currentIndex}' is not a valid identifer
Je ne comprends pas pourquoi ...
Voici mon code : (l'actionScript est placé dans une balise script).
29 novembre 2009
Salut,
le code MXML est mal passé mais je vois, je pense, l'erreur que tu as faite. Tu as essayé de mettre comme "id" de ton composant repeaté, id="{identifiant+RP.currentIndex}". Tu ne peux pas faire un Binding sur un id. Etant donné qu'il doit être unique, il est crée une seule fois et ne peux pas être modifié à la volée. Si tu faisais un binding, c'est ce qu'il pourrait potentiellement se passer.
Si tu as vraiment besoin de passer ton identifiant à toi dans un Repeater, crée un composant personnalisé pour le composant repeaté et ajoute lui une propriété "monId" par exemple que tu pourras remplir dynamiquement. Après, il ne te restera plus qu'a boucler pour le trouver.
Sinon, n'utilises pas de Repeater, ça apporte beaucoup de problème, fait la répétition à la main tu auras plus de contrôle (je te le conseille)
Fabien