J'ai une application multitenant qui identifie les locataires en fonction d'un paramètre de route appelé organization
. J'ai diverses parties de l'application qui doivent changer de comportement en fonction de l'organisation transmise par le paramètre route, mais je rencontre des problèmes pour accéder au paramètre ailleurs que dans le composant vers lequel le routeur a navigué.
Dans plusieurs zones de mon application, j'ai placé une variante du code suivant :
export class OrganizationSidebarComponent implements OnInit {
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.params.subscribe(params => {
console.log('[OrganizationSidebarComponent] ID IS ' + params['organization']);
console.log(params);
});
this.route.paramMap.subscribe(paramMap => {
console.log('[OrganizationSidebarComponent] ID from ParamMap: ' + paramMap.get('organization'));
});
console.log('[OrganizationSidebarComponent] ID using snapshot paramMap: ' + this.route.snapshot.paramMap.get('organization'));
console.log('[OrganizationSidebarComponent] ID using snapshot params: ' + this.route.snapshot.params.organization);
}
}
Cependant, lorsque l'on accède aux pages, le résultat ressemble à ce qui suit :
Mes itinéraires sont configurés comme suit :
const routes: Routes = [
{
path: 'Organization',
component: OrganizationsLayoutComponent,
children: [
{
path: ':organization',
component: OrganizationDashboardComponent,
canActivate: [AuthGuard]
}
]
}
];
Dans un monde parfait, je pourrais accéder aux valeurs à partir d'un service injecté afin de disposer d'un service de récupération centralisé que je pourrais utiliser pour obtenir les informations requises, mais j'ai simplement des difficultés à récupérer les paramètres de la route à partir d'un endroit autre que le composant vers lequel la navigation est effectuée.
Comment puis-je accéder à ces informations ?