1

我正在使用primeng 库开发一个Angular4 应用程序。在我的一个组件中,我有以下代码:

  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'];

但无论我尝试什么,我总是得到一个查询参数的空白地图。有人可以指出我哪里出错了。

4

1 回答 1

1

尝试

this.router.navigate(['/home/policy/menu/'], navigationExtras);代替 this.router.navigateByUrl(navigateToUrl, navigationExtras);

或试试这个

this.router.navigateByUrl(navigateToUrl, navigationExtras.queryParams);

但是你应该提供验证路由名称,所以你需要检查 /home/policy/menu/是一个有效的路由名称。

于 2018-05-08T10:55:59.637 回答