Flex - Wie-access-Komponente in einer anderen Komponente in MXML?
Habe ich zwei Komponenten. Eine heißt "InsideComp" und eine heißt "OutsideComp". OutsideComp hat InsideComp als ein Stück seiner Komponente, und in meinem Haupt-MXML-Datei, ich habe eingebettet, die eine Instanz von OutsideComp. Wie erhalte ich Zugriff auf eine öffentliche variable des InsideComp in meinem Haupt-MXML-Datei?
In Actionscript konnte ich nur so etwas machen:
OutsideComp.InsideComp.valToChange = 5;
Aber ich weiß nicht, wie es in MXML. Ich weiß, dies ist wahrscheinlich eine einfache Frage stellen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch die Einstellung der id Eigenschaft des MXML-Komponente, die Sie effektiv stellen Sie eine öffentliche Eigenschaft, erreichbar über die dot-notation. "Der Zugriff über MXML" ist eine Art Fangfrage. Sie können die Bindung notation in xml-Tags und binden Sie die Eigenschaft auf eine andere Eigenschaft, oder Sie können es in Ihrem Skript-block in der normalen AS3-Mode.
Ich aktualisiere den code hier ein, um einen Verweis auf die äußere Klasse. Ich bin mir nicht 100% sicher, dass dies ist, was Sie suchen, aber ich werde mein bestes tun, um Ihnen eine
OuterClass:
InnerClass:
Edit: Hier ist die aktualisierte version der Anwendung
Hier ist eine kurze Erklärung, was dies bedeutet:
Gibt es 3 MXML-Dateien:
Gibt es eine Bindung in der Haupt-app, die den checkbox-Wert (über die Objekt-Hierarchie) und legt die Beschriftung entsprechend. Dies funktioniert genauso wie das ActionScript würde: mit der . - operator zum Zugriff auf verschachtelte Objekte.
Wenn das Kontrollkästchen updates, wird der Wert des Labels wird entsprechend aktualisiert.
Hoffe, das macht die Dinge ein wenig klarer.
Denke ich der direkteste Weg, diese zu beantworten, ist die Verwendung eines script-tag. Dies ermöglicht Ihnen das ausführen der WIE mit dem Sie vertraut sind. Zuerst müssen Sie die Zuweisung von ids für jede der Eigenschaften, die Sie Bearbeiten möchten.
Ich diesen code innerhalb einer Schöpfung abgeschlossen-handler, da kannst du nicht einfach den code innerhalb des Script-tags, die es braucht, um ausgeführt werden innerhalb einer Funktion.