Routage de chemin absolu
Il existe 2 méthodes de navigation .navigate()
et.navigateByUrl()
Vous pouvez utiliser la méthode .navigateByUrl()
pour le routage de chemin absolu:
import {Router} from '@angular/router';
constructor(private router: Router) {}
navigateToLogin() {
this.router.navigateByUrl('/login');
}
Vous mettez le chemin absolu vers l'URL du composant vers lequel vous souhaitez accéder.
Remarque: spécifiez toujours le chemin absolu complet lors de l'appel de la navigateByUrl
méthode du routeur . Les chemins absolus doivent commencer par une/
this.router.navigate(['/root/child/child']);
this.router.navigate(['/root/child', crisis.id]);
Routage de chemin relatif
Si vous souhaitez utiliser le routage de chemin relatif, utilisez la .navigate()
méthode.
REMARQUE: Le fonctionnement du routage est un peu peu intuitif, en particulier les itinéraires parent, frère et enfant:
this.router.navigate(['../../parent'], { relativeTo: this.route });
this.router.navigate(['../sibling'], { relativeTo: this.route });
this.router.navigate(['./child'], { relativeTo: this.route });
this.router.navigate(['../sibling', crisis.id], { relativeTo: this.route });
this.router.navigate(['../sibling', { id: crisis.id, foo: 'foo' }], { relativeTo: this.route });
Ou si vous avez juste besoin de naviguer dans le chemin actuel de l'itinéraire, mais vers un paramètre d'itinéraire différent:
this.router.navigate([crisis.id], { relativeTo: this.route });
Tableau des paramètres de liaison
Un tableau de paramètres de lien contient les ingrédients suivants pour la navigation du routeur:
- Chemin de la route vers le composant de destination.
['/hero']
- Paramètres d'itinéraire obligatoires et facultatifs qui vont dans l'URL de l'itinéraire.
['/hero', hero.id]
ou['/hero', { id: hero.id, foo: baa }]
Syntaxe semblable à un répertoire
Le routeur prend en charge la syntaxe de type répertoire dans une liste de paramètres de lien pour aider à guider la recherche de nom d'itinéraire:
./
ou aucune barre oblique de début n'est relative au niveau actuel.
../
pour monter d'un niveau dans le chemin de la route.
Vous pouvez combiner la syntaxe de navigation relative avec un chemin d'ancêtre. Si vous devez naviguer vers une route sœur, vous pouvez utiliser la ../<sibling>
convention pour monter d'un niveau, puis sur et descendre le chemin de route frère.
Remarques importantes sur la nagivation relative
Pour parcourir un chemin relatif avec la Router.navigate
méthode, vous devez fournir le ActivatedRoute
pour indiquer au routeur où vous vous trouvez dans l'arborescence de routes actuelle.
Après le tableau des paramètres de lien, ajoutez un objet avec une relativeTo
propriété définie au ActivatedRoute
. Le routeur calcule ensuite l'URL cible en fonction de l'emplacement de l'itinéraire actif.
À partir de la documentation officielle du routeur angulaire