我尝试在以下情况下使用routerLinkActive
'./ path1‘链接path1应处于活动状态。
‘./ path1 ?param1=70000²m2=test2’链路path1应处于活动状态。
'./path1/ path2‘链路path2应处于活动状态。
<a [routerLink]="./path1" [routerLinkActiveOptions]="{ exact: true }"
[routerLinkActive]="['active']">My link</a>对于routerLinkActiveOptions,带有queryparams的path1处于非活动状态。
如何将routerLinkActive配置为使用任何查询参数?
发布于 2017-08-03 10:04:39
你可能想看看this question。他设法通过添加另一个标签使其工作,但将其隐藏,并将所有内容包装在li标签中。看起来像是。
<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>发布于 2022-01-18 12:18:43
我也遇到了同样的问题,解决方法如下:(我的Angular版本是13)
HTML:
<a
[routerLink]="'/path1'"
[queryParams]="{ sample: 'xxx' }"
[routerLinkActiveOptions]="routerLinkActiveOptions"
routerLinkActive="active" >My link</a>ts:
routerLinkActiveOptions: IsActiveMatchOptions = {
matrixParams: 'ignored',
queryParams: 'ignored',
fragment: 'ignored',
paths: 'exact'
};此代码仅激活具有确切路径的链接,并忽略查询参数。您可以通过以下链接阅读有关"IsActiveMatchOptions“的更多信息:IsActiveMatchOptions
https://stackoverflow.com/questions/41998274
复制相似问题