当queryParams被绑定到定义为getter的属性时,routerLinkActive不起作用

时间:2017-02-01 13:23:51

标签: angular typescript angular-routing

在我的组件控制器中,我有一个属性 -

 public get navigationParams() {
    return {
      fromDate: sessionStorage.getItem('fromDate'),
      toDate: sessionStorage.getItem('toDate')
    };
  }

注意:我在会话存储中需要它,以便我可以从不属于url状态的其他页面重定向。

<div class="card" routerLinkActive="active"
             [routerLink]="['/dashboard/revenue']"
             [queryParams]="navigationParams">
 Revenue
</div>

它应该应用第一次应用的活动类,但是当日期通过datepicker(ng2-bootstrap)更改时,它会在sessionStorage中更新fromDatetoDate重新加载嵌套状态 - this.router.navigate([], {relativeTo: this.activatedRoute, queryParams: this.navigationParams)现在风格消失了。

然而,如果我使用像这样的属性它是有效的 public queryParams: any;代替navigationParams

<div class="card" routerLinkActive="active"
             [routerLink]="['/dashboard/revenue']"
             [queryParams]="queryParams">
 Revenue
</div>

0 个答案:

没有答案