J'ai fait des recherches sur le rechargement d'une route Angular 4+ et il semble que la méthode préférée consiste à écouter les changements de paramètres d'URL dans le composant et à les réinitialiser le composant là à la place. Le problème que je rencontre est d'essayer de trouver une approche DRY (ne vous répétez pas) pour que cela fonctionne à travers plusieurs composants, quand l'URL serait identique (y compris les paramètres). Dans AngularJS c'était simple avec UI-routeur.Recharger la route angulaire 4+ avec le même paramètre d'URL
utilisation:
J'ai un panneau de notification qui peut « flotter » au-dessus de toute voie, lorsqu'une notification est cliqué, il doit aller au contenu, il concerne - cela peut être beaucoup de différents types de contenu.
Par exemple: /posts/:id
ou /groups/:id
ou /users/:id
Si l'utilisateur est à la recherche déjà à ce contenu, il ne se recharge pas et actualiser pour refléter le message de la notification. I.e "John Doe a commenté votre publication" (l'utilisateur pourrait consulter une version obsolète de ce message) ou "Jane Doe a accepté votre demande de rejoindre un groupe" (l'utilisateur pourrait consulter la vue de l'invité de ce groupe).
J'ai regardé en utilisant window.location.reload()
en détectant que l'itinéraire est le même, et qui fonctionne, mais il est hautement indésirable en raison de la surcharge provoque (réinitialisation angulaire, contrôle auth, rebranchement socket, etc).
Toutes les suggestions seraient grandement appréciées!
Je pense que ce n'est pas ce qui a été demandé. Citation de la question> quand l'URL serait identique (y compris les paramètres) – asmmahmud
@asmmahmud En effet, je vois. Cependant, il n'y a aucun moyen de le faire sans 'window.location.reload()'. J'ai légèrement modifié ma réponse pour clarifier cela. –