Angular2 routerLink指令动态参数?

时间:2016-05-08 16:34:37

标签: angular angular2-routing

以下是routerLink

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

这里myParam是不变的。如何使其动态化,即使用状态填充它。

1 个答案:

答案 0 :(得分:3)

在组件中定义一个Object并将其传递给routerLink

<强>模板

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

<强> Compoennt

@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'}]">