Angular2 routerLink指令动态参数?

Angular2 routerLink directive dynamic parameter?

这里有一个例子routerLink

<a [routerLink]="['SearchResult', {myParam: 'value'}]">

这里myParam是常量。我怎样才能使它动态,即使用状态来填充它。

在您的组件中定义一个对象并将其传递给 routerLink

模板

<a [routerLink]="['SearchResult', searchParams]">

组件

@Component({.....})
export class YourComponent {
  public searchParams = {myParam: 'value'};

  ngAfterViewInit(){
     // change your parameters here. eg.: this.searchParams = {somePrm: 'someValue'}
  }
}

或者,如果您只有较小的更改或要传递的参数,您也可以这样做

<a [routerLink]="['SearchResult', (state == 'a') ?  {myParam: 'value'} :  {yourParam: 'value'}]">