【问题标题】:Angular2 routerLink directive dynamic parameter?Angular2 routerLink 指令动态参数?
【发布时间】:2016-05-08 16:34:36
【问题描述】:

这是routerLink的示例

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

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

【问题讨论】:

    标签: angular angular2-routing


    【解决方案1】:

    在您的组件中定义一个对象并将其传递给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'}]">
    

    【讨论】:

    • 我没有使用 TypeScript
    • 没有什么特定的东西只适用于 TS,您只需要在组件中定义 searchParams 对象并将其传递给您的 routerLink 。在点击发生之前更改您想要的任何内容。
    • 如何访问组件中的查询参数?
    • 使用RouteParams
    猜你喜欢
    • 2016-12-31
    • 2016-09-16
    • 1970-01-01
    • 2016-05-15
    • 2017-09-07
    • 2016-11-15
    • 2017-06-26
    • 1970-01-01
    • 2017-01-15
    相关资源
    最近更新 更多