在我的小示例这里中,所有东西都可以在以下路径中很好地工作:
https://angular-d7eqku.stackblitz.io/path1 https://angular-d7eqku.stackblitz.io/path1?param1=1
但是,如果我使用重复查询参数传递一个值数组,routerLinkActive制动器:
是虫子吗?我如何绕过它呢?用5/6角测试了它。
更新:我对示例进行了一些更新,以说明为什么要以这种方式传递参数数组(而不是将其作为一个具有多个值的参数传递),以及我如何使用它。
删除queryParamsHandling="preserve".“保存”后的Update2:开始工作,因此问题可以缩小为:为什么routerLinkActive在使用重复参数时不能工作
发布于 2018-09-20 04:56:50
要传递数组来查询params,您可能必须使用,
,因此链接应该如下所示:
https://angular-d7eqku.stackblitz.io/path1?param1=1,2
路由快照(ActivatedRoute.snapshot)如下所示:
{
...
queryParams: {
param1: "1,2"
},
...
}
更新:
好吧,误解了问题。因此,如果您将app.component.html更改为以下代码--它将工作:
<ul>
<li><a routerLink="path1" routerLinkActive="active">Item1</a></li>
<li><a routerLink="path2" routerLinkActive="active">Item1</a></li>
<li><a routerLink="path3" routerLinkActive="active">Item1</a></li>
<router-outlet></router-outlet>
</ul>
这是复制品导航到path1?param1=1¶m1=3
,它将显示值并高亮显示活动url。
https://stackoverflow.com/questions/52425536
复制