2009-05-12 7 views
1

J'ai un fichier Main.mxml et un fichier RoutePlanner.xmlm. RoutePlanner définit un composant Canvas personnalisé et Main.mxml utilise ce composant personnalisé. Le problème est que les composants RoutePlanner contiennent un grand nombre d'événements, tels que Click() et MouseMove() etc. Cependant, les fonctions auxquelles ces événements font référence sont toutes définies dans Main.mxml.Utilisation de fonctions définies dans d'autres fichiers MXML

Main.mxml était un fichier géant que j'essaie de scinder. Je ne peux pas simplement déplacer la fonction de Main vers les composants personnalisés, à cause des variables de classe utilisées dans les fonctions.

Il est possible de include le principal dans le composant, donc je peux utiliser les méthodes? Ou devrais-je déplacer toutes les méthodes vers un fichier AS, et simplement l'inclure dans Main et le composant? (Cela nécessitera un peu plus de travail)

Ou est-il possible de créer des fonctions d'espace réservé dans le composant, et de rendre ces espaces réservés liables, et qu'après avoir créé le composant dans Main.mxml, lier les méthodes réelles défini dans Main.xml aux événements dans le composant?

Merci à l'avance,

Kwaak

Répondre

0

Je l'ai trouvé moi-même des événements en utilisant:

CustomComponent.mxml:

[Event(name="onCreateRoute", type="Event")] 
... 
<mx:Button label="Plan Route" click="dispatchEvent(new Event('onCreateRoute'))"/> 

Main.mxml

<custom:CustomComponent onCreateRoute="CreateRoute(event);" /> 
Questions connexes