【发布时间】:2018-11-05 12:56:55
【问题描述】:
我想在 Angular 中路由时使用 queryParams 导航到一个 URL。
<a routerLink='/master' [queryParams]="{query:'%US',mode:'text'}"><li (click)="search()">Search</li></a>
我要导航的网址是:
http://localhost:4200/master?query=%US&mode=text
但是当我点击搜索时,它会将我导航到:
http://localhost:4200/master?query=%25US&mode=text
我不知道为什么25 会附加在% 符号之后。谁能告诉我一种更清洁的正确导航方式。
【问题讨论】:
-
它工作正常。
%是 URL 编码的转义字符,所以文字%字符 必须 被转义,否则你的 URL 无效。如果您对这个概念不熟悉,请阅读here。 -
我尝试使用
\%,但它也不起作用 -
没有。它正在工作。
%25是正确的。 '\' 不是 URL 中的转义字符。 -
请阅读我所说的,然后点击该链接。 您已经在正确使用
%。 -
如果你想改变 url 结构,你可以尝试 angular url serializer stackoverflow.com/a/49618237/4399281 你的情况可能是:function cleanUrl(url) { return url.replace("%25",'%' ) }
标签: javascript angular typescript routing angular4-router