Angular 9 routerLink 将分号解析为 %3B

Angular 9 routerLink resolving semi-colon to %3B

如何防止 Angular 9 使用 URL 编码渲染 routerLink href?

下面是问题的 stackblitz 示例:

https://angular-ivy-sxczmy.stackblitz.io/

打字稿:

myurl = "/testing;parameter1=abc";

模板:

<p>myurl = {{myurl}}<p>
<a [routerLink]="myurl">Testing</a>

简化输出:

<p>myurl = /testing;parameter1=abc</p>
<a href="/testing%3Bparameter1%3Dabc">Testing</a>

如何防止 href 使用 %3B、%3D 而不是分号和等号呈现?

谢谢!

Angular 不能以这种方式处理查询参数,您必须单独声明它们:

<a routerLink="/testing" [queryParams]="{parameter1: 'abc'}">Testing</a>

您应该为参数创建一个单独的对象,然后将其传递到 [routerLink] 中,在您的情况下:

myurl = "/testing";
myUrlParams = {parameter1: 'abc'}

<a [routerLink]="[myurl, myUrlParams]">Testing</a>