Невозможно получить параметры запроса в Angular4
Я разрабатываю приложение Angular4 с использованием библиотеки primeng. В одном из моих компонентов у меня есть следующий код:
navigateUrl(company:any, cause?:boolean) {
let navigationExtras = {queryParams : {cause: false}};
let navigateToUrl = '/home/policy/menu/' +
company.policyId+ '/' + encodeURIComponent(company.name) + '/' +
company.companyId + '/branches';
if(cause) {
let navigationExtras = {queryParams : {cause: true}};
}
this.router.navigateByUrl(navigateToUrl, navigationExtras);
}
Я пытаюсь получить эти queryParams в следующем компоненте меню, как:
this.route.queryParams.subscribe(params => {
console.log(params);
});
также я попробовал
this.route.queryParams['cause'];
Но что бы я ни пытался, я всегда получаю пустую карту для параметров запроса. Может кто-то указать, где я иду не так.
1 ответ
Пытаться
this.router.navigate(['/home/policy/menu/'], navigationExtras);
вместо this.router.navigateByUrl(navigateToUrl, navigationExtras);
или попробуйте это
this.router.navigateByUrl(navigateToUrl, navigationExtras.queryParams);
Но вы должны предоставить правильное название маршрута, поэтому вам нужно проверить
/home/policy/menu/
является действительным названием маршрута.