Ich habe einige Nachforschungen über das Nachladen einer Angular 4+ Route angestellt, und es sieht so aus, als ob die bevorzugte Methode darin besteht, URL-Parameteränderungen innerhalb der Komponente zu hören und neu zu initialisieren die Komponente dort stattdessen.Angular 4+ Route mit demselben URL-Parameter neu laden
Das Problem, das ich habe, ist in der Suche nach einem DRY (nicht wiederholen) Ansatz, um dies über mehrere Komponenten funktionieren, wenn die URL identisch wäre (einschließlich der Parameter). In AngularJS war dies mit UI-Router einfach.
Anwendungsfall:
Ich habe ein Benachrichtigungsfeld, die „schweben“ über jeder Route kann, wenn eine Benachrichtigung geklickt wird es auf den Inhalt gehen muss es betrifft - diese unterschiedlichen viele sein können Arten von Inhalt.
Zum Beispiel: /posts/:id
oder /groups/:id
oder /users/:id
Wenn der Benutzer bereits an diesem Inhalt sucht sie nicht und nicht nachladen aktualisieren Sie die Nachricht der Mitteilung zu reflektieren. "John Doe hat Ihren Beitrag kommentiert" (der Nutzer könnte sich eine veraltete Version dieses Beitrags ansehen) oder "Jane Doe hat Ihre Anfrage akzeptiert, einer Gruppe beizutreten" (der Nutzer könnte sich die Gastansicht dieser Gruppe ansehen).
habe ich in aussehen window.location.reload()
Verwendung bei der Erkennung, dass die Route das gleiche ist, und das funktioniert, aber es ist höchst unerwünscht aufgrund des Kopf es (Winkel neu initialisieren, Auth Scheck, Buchse Wiederverbindung usw.) verursacht.
Alle Vorschläge würden sehr geschätzt werden!
Ich denke, das ist nicht das, was gefragt wurde. Zitat aus der Frage> Wenn die URL identisch wäre (einschließlich der Parameter) – asmmahmud
@asmmahmud In der Tat, ich sehe. Dies ist jedoch ohne 'window.location.reload()' nicht möglich. Ich habe meine Antwort ein wenig modifiziert, um das klarzustellen. –