Angular-routerLinkActive和queryParams处理

tru*_*k18 5 angular angular-router

我在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>
Run Code Online (Sandbox Code Playgroud)

因此,当URL看起来像.active类时已将其添加到li标记中

/view/10?offset=0&numberOfItems=100
Run Code Online (Sandbox Code Playgroud)

如果URL被更改offsetnumberOfItems更改为其他值,则.active类将被删除,例如。

/view/10?offset=0&numberOfItems=120
Run Code Online (Sandbox Code Playgroud)

我浏览了有角度的文档,并设法通过添加另一个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>
Run Code Online (Sandbox Code Playgroud)

似乎以上方法有点小技巧。当路由器参数与可选查询参数一起出现时,是否可以设置任何配置以使routerLinkActive起作用?

s-f*_*s-f 1

我遇到了同样的问题,但看起来这是根据https://github.com/angular/angular/issues/13205设计的

vsavkin 是一个路由器创建者。