我正在使用angular2 rc.4和路由器3.0.0-beta.1
当我使用这样的路由器查询参数时:
this.router.navigate(['login'],{queryParams:{err:'中国!'}});
和loginComponent:
constructor(private router:Router) {
this.router.routerState.queryParams.subscribe(
params=>{
this.errMsg=params['err'];
console.log('errMsg is : '+this.errMsg);
}
)
});
如果我首先打开' / login'页面,控制台打印:
" errMsg是中国",
- 显示正确。
但是当我刷新浏览器时,它变为:
错误是:%E4%B8%AD%E5%9B%BD"
如何解决乱码中文?
答案 0 :(得分:0)
我已经解决了这个问题,很简单。使用decodeURIComponent函数对url param进行解码,如下所示:
this.errMsg= decodeURIComponent(params['err']);