在Angular中,当param是url时如何处理param?

时间:2018-06-06 05:39:56

标签: angular

我想发布一个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?

3 个答案:

答案 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'];