Refresh-Komponente nach einem router.navigieren
Ich bin versucht, navigieren Sie von einer Komponente auf eine andere Komponente mit :
this.router.navigate(['/path/'], '_blank');
Das problem ist, dass die Komponente die ich am navigieren zu können, ist bereits erstellt, und die ngOnInit-Methode wird nicht ausgeführt, wenn ich navigieren Sie zurück zur Seite. Ich versuche, die Daten zu aktualisieren, zeigt auf der Seite. Dies ist in der ngOnInit Funktion der Ziel-Komponente:
this.sub = this._DataService.getData().subscribe(data=> {
this.data= data;
});
Wie kann ich die Ziel-Komponente, die die Daten auf der Seite wird immer aktualisiert, wenn eine navigation?
Ich bin mit Ag-Raster zum anzeigen der Daten in einer Tabelle. In der NgOnInit Funktion:
this.gridOptions.rowData = this.data;
Die Komponente ursprünglich bin ich aus, wird ein Formular zum hinzufügen eines neuen Objekts. Nach dem Absenden dieses Objekt, es sollte eine Weiterleitung an das Gitter und zeigen Sie das neue Objekt. Deshalb ist das Grid sollte die Aktualisierung Ihrer Daten, sondern wegen irgendeinem Grund, es funktioniert nur, wenn ich manuell aktualisieren Sie es durch ein Kontextmenü Aktion in der Startaufstellung, nicht auf die navigation.
Den submit-Funktion in der form aussieht, wie die folgenden:
onSubmit(data) {
this._DataService.addData(data.value).subscribe();
this.router.navigate(['/data/']);
}
'_blank'
?Nichts, es war immer noch da, denn ich habe messing mit ihm.
InformationsquelleAutor merlino | 2017-03-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie navigieren auf der gleichen route und nur die Parameterwerte geändert werden, bewegen Sie den Initialisierungscode aus
constructor
und rufen Sie es vonconstructor
und wenn route params ändern:Für mich schwer zu sagen, weil ich nicht weiß, was Los ist auf Ihrem system. Deine Frage enthält nicht viel code.
Das ist, weil es ist wirklich nicht viel. Ich bin mit Ag-Grid zum anzeigen von Daten in eine Tabelle. Ich ' ll fügen Sie einige weitere Informationen zu meiner ursprünglichen Frage
Ich bezweifle, dass die Komponente, die Sie navigieren zu bereits erstellt. Wenn Sie Weg zu navigieren, wird es zerstört werden, wenn Sie zurück gehen, wird es neu erstellt werden. Nur wenn Sie bleiben auf der gleichen route, und navigieren Sie so, dass nur die Parameter der route zu ändern, wird die Komponente am Leben gehalten werden. Aber es ist schwer zu sagen, weil deine Frage enthält nicht alle Informationen über, die.
Ich kann bestätigen, dass diese Methode funktioniert und "erfrischt" die Komponente. Sollte nicht downvoted weil es tut, was die Frage bittet. Ich habe versucht, diese Lösung verwaltet und zur renavigate auf die Komponente, aber ich kann das irgendwie nur Daten hinzufügen, starten Sie mit einem leeren Blatt (keine Frage, sondern ein heads-up)
InformationsquelleAutor Günter Zöchbauer
Ich es behoben, indem Sie meinen onSubmit-Funktion:
Dank auf diese Frage: Angular2 - Weiterleitung nach submit nicht aktualisierte Daten
InformationsquelleAutor merlino
ich implementiert eine Umleitung Komponente
diese.router.navigieren(['/redirect/', window.Lage.pathname]);
InformationsquelleAutor ueman