我想使用查询参数从一个路径导航到另一个路径。
var name = "engine & machinery";
this.router.navigateByUrl('dashboard?isopen='+true+'&name='+name);
由此,将导航导航到仪表板页面,但是查询参数输入不正确。
网址来了,
http://localhost:4200/dashboard?isopen=true&name=engine%20&%20machinery=
通过以下代码获取查询参数,
console.log("testt", this.route.snapshot.queryParamMap.get('name'));
它仅返回"engine"
。
那么,有人可以帮助我解码url以及如何获取参数值吗?
预先感谢
答案 0 :(得分:1)
使用encodeURIComponent
使用此类特殊字符对URL进行编码。
var name = encodeURIComponent("engine & machinery");
在创建URL时。
然后在接收端使用decodeURIComponent
类似这样的东西:
const encodedName = this.route.snapshot.queryParamMap.get('name')
const decodedName = decodeURIComponent(encodedName);
// This would yield `engine & machinery`
这是您推荐的Sample StackBlitz。