2009-05-12 7 views
1

Ich habe eine Main.mxml-Datei und eine RoutePlanner.xmlm-Datei. Der RoutePlanner definiert benutzerdefinierte Canvas-Komponenten, und Main.mxml verwendet diese benutzerdefinierte Komponente.Verwenden von Funktionen, die in anderen MXML-Dateien definiert sind

Das Problem ist, dass die RoutePlanner-Komponenten viele Ereignisse enthalten, wie Click() und MouseMove() usw. Die Funktionen, auf die diese Ereignisse verweisen, sind jedoch in Main.mxml definiert.

Main.mxml war eine riesige Datei, die ich aufteilen möchte. Ich kann die Funktion nicht einfach von Main zu den benutzerdefinierten Komponenten verschieben, da die Klassenvariablen in den Funktionen verwendet werden.

Es ist möglich, include der Main in der Komponente, so kann ich die Methoden verwenden? Oder sollte ich alle Methoden in eine AS-Datei verschieben und sie einfach sowohl in die Hauptkomponente als auch in die Komponente einfügen? (Das erfordert jedoch ein wenig mehr Arbeit)

Oder ist es möglich, Platzhalterfunktionen in der Komponente zu erstellen und diese Platzhalter bindbar zu machen, und binden Sie nach dem Erstellen der Komponente in der Main.mxml die tatsächlichen Methoden definiert in Main.xml zu den Ereignissen in der Komponente?

Vielen Dank im Voraus,

Kwaak

Antwort

0

es Fand heraus, mich mit Ereignissen:

CustomComponent.mxml:

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

Main.mxml

<custom:CustomComponent onCreateRoute="CreateRoute(event);" /> 
Verwandte Themen