我正在使用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'];
但无论我尝试什么,我总是得到查询参数的空白地图。 有人可以指出我哪里出错了。
答案 0 :(得分:1)
尝试
this.router.navigate(['/home/policy/menu/'], navigationExtras);
代替this.router.navigateByUrl(navigateToUrl, navigationExtras);
或试试这个
this.router.navigateByUrl(navigateToUrl, navigationExtras.queryParams);
但是您应该提供验证路由名称,因此您需要检查
/home/policy/menu/
是否是有效的路由名称。