Невозможно получить параметры запроса в 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/ является действительным названием маршрута.

Другие вопросы по тегам