Angular2中带有特殊字符“:”的路由
Posted
技术标签:
【中文标题】Angular2中带有特殊字符“:”的路由【英文标题】:Routing with special character " : " in Angular2 【发布时间】:2017-10-15 20:59:24 【问题描述】:我的网址是这样的 abc.org/books/sort:created/direction:desc abc.org/books/sort:mostviewed/direction:desc
abc.com/books/schools/sort:created/direction:desc abc.com/books/schools/sort:mostviewed/direction:desc
我希望我的排序参数包含“created”或“mostviewed”,但 angular routerLink 将“:”转换为“%3A”,我的链接变为
abc.org/books/sort%3Acreated/direction%3Adesc abc.org/books/sort%3Amostviewed/direction%3Adesc
abc.com/books/schools/sort%3Acreated/direction%3Adesc abc.com/books/schools/sort%3Amostviewed/direction%3Adesc
和“created”或“mostviewed”未分配给排序参数。
如何在路由和 routerLink 中转义“:”。
【问题讨论】:
【参考方案1】:https://github.com/angular/angular/issues/4895
你必须像这样扩展 encodeUri
encodeURIComponent(str)
return encodeURIComponent(str).replace(/[!'()*]/g, function (c)
return '%' + c.charCodeAt(0).toString(16);
);
【讨论】:
以上是关于Angular2中带有特殊字符“:”的路由的主要内容,如果未能解决你的问题,请参考以下文章
通过存储在 Postgresql 中带有特殊字符的变量名中来删除约束
使用列名中带有特殊字符的 aes_ 或 aes_string 使用 ggplot 进行编程