没有路径参数的角度4查询参数

时间:2017-11-05 06:20:57

标签: angular angular-router

这适用(路线参数= :id

{
    path: 'qp/:id?repo=1',
    component: QueryParamsComponent
}

<li><a [routerLink]="['/qp', 5]" [queryParams]="{repo:1}">Query Params</a></li>

但没有Route Params,它无法正常工作,

有没有办法让下面的代码工作?

{
    path: 'qp?repo=1',
    component: QueryParamsComponent
}

<li><a [routerLink]="['/qp']" [queryParams]="{repo:1}">Query Params</a></li>

还是以其他方式实现这一目标?

这是我的QueryParamsComponent

repo = ' ';
ngOnInit() {
  this.router.params.subscribe((params: Params) => {
    this.repo = params['repo'];
  });
}

Angular Version:4.2.4

1 个答案:

答案 0 :(得分:1)

您可以使用或不使用参数调用相同的组件来定义多个路由,并且您不需要将queryParams放在路由配置中:

{
 path: 'qp/:id,
 component: QueryParamsComponent
},
{
  path: 'qp',
  component: QueryParamsComponent
}

并在您的组件内:

this.router.queryParams.subscribe(params => {
    this.repo= +params['repos'];
 })