我在Angular中使用routerLink,如下所示
<li routerLinkActive="active">
<a [routerLink]="['/view', 10]"
[queryParams]="{'offset': 0, 'numberOfItems': 100}"
queryParamsHandling="merge">
<div>View</div>
<div><span class="badge" [innerHtml]="viewCount"></span></div>
</a>
</li>
因此,当URL看起来时,.active类被添加到li标签中
/view/10?offset=0&numberOfItems=100
如果URL已将 offset
或 numberOfItems
更改为其他值,则将删除.active类,例如 .
/view/10?offset=0&numberOfItems=120
我经历了angular docs并设法通过添加另一个routerLink使其工作,但使其隐藏如下 .
<li routerLinkActive="active">
<a [routerLink]="['/view', 10]"
[queryParams]="{'offset': 0, 'numberOfItems': 100}"
queryParamsHandling="merge">
<div>View</div>
<div><span class="badge" [innerHtml]="viewCount"></span></div>
</a>
<a [routerLink]="['/view', 10]" style="display:none;">
<div><span class="badge" [innerHtml]="viewCount"></span></div>
</a>
</li>
看来上面的方法有点破解 . 当路由器参数与可选查询参数一起出现时,是否有任何配置可以使routerLinkActive正常工作?
1 回答
我遇到了同样的问题,但看起来这是设计依据https://github.com/angular/angular/issues/13205
vsavkin是一个路由器创建者 .