Depuis ActivatedRoute
peuvent être réutilisés, ActivatedRouteSnapshot
est immuable objet représentant une version particulière de l' ActivatedRoute
. Il expose toutes les mêmes propriétés que l' ActivatedRoute
comme de simples valeurs, tout en ActivatedRoute
les expose comme des observables.
Voici le commentaire dans la mise en œuvre:
export class ActivatedRoute {
/** The current snapshot of this route */
snapshot: ActivatedRouteSnapshot;
Si un routeur réutilise un composant et ne crée pas une nouvelle route activée, vous avez deux versions de l' ActivatedRouteSnapshot
pour le même ActivatedRoute
. Supposons que vous avez la configuration de routage:
path: /segment1/:id,
component: AComponent
Maintenant, vous accédez à:
/segment1/1
Vous aurez le param dans l' activatedRoute.snapshot.params.id
comme 1
.
Maintenant, vous accédez à:
/segment1/2
Vous aurez le param dans l' activatedRoute.snapshot.params.id
comme 2
.
Vous pouvez le voir par la mise en œuvre de l'suivantes:
export class AComponent {
constructor(r: ActivatedRoute) {
r.url.subscribe((u) => {
console.log(r.snapshot.params.id);
});