Haben Sie mehr als ein aktives Modul in Angular 2

8

Angular 2 final wurde veröffentlicht und ich habe mit der letzten Routerversion herumgespielt.

Ein gutes Beispiel für den Router in Aktion finden Sie hier: Ссылка

Ich habe mich gefragt, ob es irgendeinen Mechanismus gibt, um das aktuelle Modul im DOM (aber versteckt) zu halten, während man ein neues oben drauf lädt? Der Anwendungsfall ist, dass ein Benutzer möglicherweise ein Modul vom Typ Admin verwendet und erkennt, dass er ein Asset (vielleicht einen Benutzer) erstellen muss, um zu einem Benutzermodul zu springen; bevor Sie zu dem Modul zurückwechseln, in dem sie sich befanden.

In diesem Szenario könnte sich der Benutzer in einem tief verlinkten Abschnitt des Admin-Moduls befinden und es wäre sehr merkwürdig, wenn er verliert, was er tut.

Ist das möglich? Nach allem, was ich bisher gemacht habe, habe ich gesehen, dass die Module, die in den <router-outlet> -Tags vorgestellt werden, komplett vom DOM entfernt werden.

Danke!

    
Askanison4 23.09.2016, 11:10
quelle

1 Antwort

2

Gegenwärtig vom Router hinzugefügte Komponenten werden verworfen, wenn die Route geändert wird. Dies ist geplant, um schließlich konfigurierbar zu werden .

Wenn Sie Daten (Modell) in gemeinsam genutzten Diensten (die nicht verworfen werden) anstelle der Komponente selbst behalten, erhält der Benutzer beim Navigieren zu einer vorherigen Route die ursprüngliche Ansicht zurück.

Die Dienste müssen für eine Komponente bereitgestellt werden, die nicht vom Router entfernt wird. Die Root-Komponente oder die Provider in einem @NgModule() , das nicht lazy-loaded ist, würden funktionieren.

    
Günter Zöchbauer 26.09.2016, 08:18
quelle