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>
如何防止 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>