0
votes

La navigation d'un composant à un autre conserve les paramètres sur l'URL

Dans ma candidature, j'ai un composant de détails de l'employé et une URL ressemble à http: // localhost: 4200 / employé / 123 À partir de là, lorsque je clique sur le bouton pour revenir, j'ai utilisé xxx

Ça fonctionne parfaitement et page navigue sur le composant requis (liste des employés). Mais il garde l'identifiant de l'employé 123 sur l'URL qui ne devrait réellement pas être et devrait ressembler à http: // localhost: 4200 / employé / . Comment puis-je le faire correctement.


3 Réponses :


0
votes

vous pouvez donner this.router.navigater (['../'], {QueryParams: '' Relativeto: this.route}); ou alors this.router.navigater (['Employee'], {QueryParams: ''});


6 commentaires

Désolé de ne pas mentionner en question mais je dois passer des paramètres à la composante requise. Alors ne peut pas supprimer QueryParams.


Les QueryParams ne devraient pas être le problème, car l'identifiant d'employé est un paramètre dans l'itinéraire et non un QueryParam. Mais en utilisant relatianting, utiliser Just '/' ne ferait rien. Vous devez utiliser quelque chose comme celui-ci .Router.Navigate (['..//'], {Relativeto: this.route}); S'il vous plaît voir le lien dans le commentaire sous votre question. Une question similaire a été posée et a répondu auparavant.


@Erbsenkoenig exactement. Mise à jour de ma réponse.


Avez-vous essayé d'utiliser ['../'] au lieu de ['/'] comme premier paramètre pour l'appel de navigation?


oui j'ai essayé avec ['../'] aussi mais le résultat était le même, c'est-à-dire de naviguer avec succès, mais l'URL ne change pas


Pouvez-vous poster votre configuration de route



0
votes

Je pense que le problème est le chantlocalisationChanger. Documentation indique les éléments suivants:

SkiplocalisationChanges: navigue sans pousser un nouvel état dans l'historique.

C'est exactement ce que vous vivez, je pense: la navigation fonctionne mais votre itinéraire ne change pas. S'il vous plaît supprimer le skilocalisationChanger.

Voir cette question ici : la solution consistait à utiliser SkipLocationChanges pour naviguer à Localhost / Toile sans afficher «Canvas» dans l'URL. Vous voulez le contraire exact. Je pense donc à utiliser SkipLocalisationChanges: True est la chose que vous ne voulez pas utiliser.


0 commentaires

0
votes

Eh bien, j'ai résolu mon problème du lien suivant https://angularfirebase.com/lessons/shaning-data -between-composants angulaires-quatre-méthodes /

Il aide à transférer des données entre les pages à l'aide de services a) Parent à l'enfant b) enfant au parent c) frère à parent


0 commentaires