我想发布一个url作为路由中的param使用Angular,如下所示:
http://localhost:1338/#/channel/token&http%3A%2F%2Fww.google.com
关键路线是url: "/channel/:params"
,
但是alaways的页面是默认路径。
当我发布一个param而不是一个url时,它运行良好,如下所示: http://localhost:1338/#/channel/token&123
我不知道如何处理包含url的param?
答案 0 :(得分:0)
当您使用:params
时,表示/
中的字符串将在params
中分配后,您无需token&
即可通过订阅{{1}直接访问网址来自params
的:
Router
网址应为:
this.route.params.subscribe(paramsData => {
console.log(params['params']);
});
如果要发送多个参数,请使用查询字符串参数。您也可以使用任何其他字符来区分参数而不是
的http://localhost:1338/#/channel/http%3A%2F%2Fww.google.com
,否则您必须同时订阅&
&params
queryParams
答案 1 :(得分:0)
你可以编码:
var encoded = encodeURI(uri);
并获得解码值:
<强> decodeURI(编码)强>
答案 2 :(得分:0)
导入ActivatedRoute
import { ActivatedRoute } from '@angular/router';
在构造函数中编写以下代码
constructor(private activatedRoute: ActivatedRoute) {}
写下以下代码,以便在 ngOnInit()或任何其他地方获取参数
this.activatedRoute.snapshot.params['params'];