Wie Instanz Modell erstellen, die über eine Komponente gemeinsam genutzt werden können (die mehr als einmal erstellt werden kann)

StackOverflow https://stackoverflow.com/questions/2874429

Frage

Ich versuche, eine modulare Struktur zu schaffen, das wird schließlich lebt in einer anderen Actionscript / Flex-Anwendung. Ich verwende cairngorm in der Außenanwendung, und ich möchte mehr als eine Instanz dieser neuen Komponente in der Innen Anwendung erstellen. Cairngorm funktioniert nicht für die wegen der Singleton Art des Modells mehr doppelten Komponenten zu schaffen.

Die Komponente Ich erstelle eine Pseudo-Videoanzeige. Ich möchte ein gemeinsames Modell innerhalb dieser Komponenteninstanz haben. Ich kämpfe mit einer Art und Weise ein einziges Modell innerhalb der Komponente zu teilen. Wenn ich das Singleton-Muster verwenden, kann ich nicht mehr als eine Instanz dieser Komponente erstellen. Wenn ich eine Instanz erstellen und lassen Sie die Komponente stellen Sie sicher, es gibt nur eine, dann habe ich Probleme das Modell leicht auf alle Komponenten vorbei, die es wollen. Dies ist besonders schwierig, weil .mxml Komponenten können nicht einen Konstruktor haben, wo ich im Modell passieren würde.

Ich dachte an, das jede Komponente verlangen, daß seine Mutter für das Modul, bis eine Komponente hatte. Dies würde erfordern, dass jede Komponente die Schnittstelle implementiert und fühlt sich ein bisschen eklig zu mir.

Hat jemand eine Möglichkeit kennen, eine Instanz Variable innerhalb einer Komponente zu schaffen, so dass mehrere Komponenten erstellen können, sondern teilt auch das Modell leicht während dieser Komponente?

War es hilfreich?

Lösung

Der neueste Swiz Release ( 1.0.0 ) hat die Antwort auf diese Frage. Sie können nun mehr als eine Instanz von Swiz in einem Projekt und Setup-Beziehung ein Eltern-Kind erstellen. Das Modul Support-Seite ist, wo sie erklären es am besten ( http: //swizframework.jira. com / wiki / Anzeige / Swiz / Modul + Support ), aber Sie müssen nicht tatsächlich Module verwenden, Beziehung jede Eltern-Kind arbeiten.

Bitte beachten Sie, dass um jeden Event-Handler zu halten von einem Kind Blick auf ein Ereignis aus reagieren, benötigen Sie den Eventhandler Umfang auf lokale zu setzen, zum Beispiel:

[EventHandler( event="TestEvent.SAVE_USER_REQUESTED", scope="local")]
public function handleEvent(event:Event):void {
    //do stuff
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top