En programmation Angular, le service ActivatedRoute
est l'outil à utiliser pour extraire les paramètres de route dans un composant. Il représente une route particulièr dans l'état de l'application. Contrairement à Router
, Route
et CurrentRoute
, ActivatedRoute
est le seul service qui fournit les informations relatives à la route associée à un composant chargé dans une outlet.
ActivatedRoute
est un service fourni par la bibliothèque de routage Angular. Il contient des informations sur la route et son état. Ces informations incluent les paramètres de route, les paramètres d'URL, les données statiques et résolues, et une référence à l'instance de composant associée à la route.
Vous pouvez utiliser ActivatedRoute
pour accéder aux valeurs de paramètres de route à travers le snapshot
de route ou en vous abonnant aux observables
.
Voici un exemple de la façon dont vous pouvez extraire un paramètre de route en utilisant ActivatedRoute
:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
// component details here
})
export class YourComponent implements OnInit {
id: string;
constructor(private route: ActivatedRoute) {}
ngOnInit(): void {
this.id = this.route.snapshot.paramMap.get('id'); // Suppose que 'id' est un paramètre de route.
}
}
Dans cet exemple, le composant se souscrit au ActivatedRoute
via le service d'injection de dépendance Angular. Ensuite, il utilise la propriété snapshot
du service pour extraire instantanément la valeur du paramètre de route.
Pendant que vous utilisez ActivatedRoute
, gardez à l'esprit qu'il est souvent préférable de se souscrire aux observables
plutôt que d'utiliser le snapshot
. Les observables
permettent à votre application de réagir automatiquement aux changements de paramètres de route.
En somme, ActivatedRoute
est un outil clé en Angular pour la gestion des paramètres de route, ce qui est essentiel pour construire une application web interactive et responsive. Son utilisation correcte et efficace peut grandement améliorer la convivialité et la performance de votre application Angular.