如何将routerLink queryParams设置为属性值?

时间:2016-10-02 18:40:18

标签: angular angular2-routing angular2-router3

我需要通过组件属性为[queryParams]设置routerLink,即

@Component({
   ...
   template: '<a [routerLink]="..." [queryParams]="queryParams | async">...</a>
   ...
})
export class MyComponent {
   ...
   queryParams: any;
   ...
   constructor(route: ActivatedRoute) {
      this.queryParams = route.queryParams;
      ...
   }
}

但是这种方法不起作用,路由中没有附加查询参数。我错过了什么?

1 个答案:

答案 0 :(得分:-1)

您可以使用此正确的语法附加查询参数

  this.router.navigate([yourRouteName], {queryParams:{ida:1,Idb:2,Idc:3}});

<a [routeLink]="yourRouteName, {queryParams:{ida:1,Idb:2,Idc:3}}"

然后您可以使用下面的语法

接收查询参数
import { Router, Route, ActivatedRoute } from '@angular/router';    
ngOnint{
        this.IDA= this.router.routerState.snapshot.root.queryParams["Ida"];
        this.IDB= this.router.routerState.snapshot.root.queryParams["Idb"];
        this.IDC= this.router.routerState.snapshot.root.queryParams["Idc"];
    }

希望这会对你有所帮助。