Ich habe dies in meiner .routing.ts Datei
%Vor% Meine PageComponent
-Datei überprüft den ID-Parameter und lädt die Daten entsprechend. In früheren Versionen des Routers, wenn ich von / Seite / 4 nach / Seite / 25 ging, würde die Seite neu geladen und die Komponenten würden aktualisiert.
Wenn ich jetzt versuche, zu / page / X zu navigieren, wo X die ID ist, lädt es immer nur das erste Mal, dann ändert sich die URL, aber die Komponenten "laden" nicht erneut.
Gibt es etwas, das übergeben werden muss, um das Neuladen meiner Komponenten zu erzwingen und das ngOnInit-Ereignis aufzurufen?
update 2
Diese Antwort ist nur für eine seit langem abgekündigte Router-Version.
Siehe Ссылка für die Vorgehensweise im aktuellen Router.
update 1
Das ist jetzt behoben (Angular 2.3) für den neuen Router von Ссылка , was es ermöglicht, eine benutzerdefinierte Wiederverwendungsstrategie bereitzustellen .
Für ein Beispiel siehe auch Ссылка
Original
Das ist ein bekanntes Problem. Momentan gibt es keine Möglichkeit, den Router die Komponente bei Parameter-only-Routenänderungen neu zu erstellen.
Sie diskutierten Pläne für die Implementierung einiger Wiederverwendungsstrategien.
Sie können params-Änderungen abonnieren und Ihren Code dort ausführen, anstatt in ngOnInit()
Dieser Code funktioniert für beide Winkel 2 und 4. Sie müssen den Param wie folgt abonnieren
%Vor%Angenommen, Ihre Seite wird nicht neu geladen, Sie können den Wert mithilfe von ngOnDestroy abbestellen.
%Vor%Dies wird der vorherige Param-Wert
klar seinüber Logik funktioniert für mich. hoffe, es wird dir helfen.
%Vor%Tags und Links javascript html angular angular2-routing