从angular2上的url提取可选参数值
我正在重定向到我的Angular2站点,并附加了一些(可选)参数,如:从angular2上的url提取可选参数值,angular,angular2-routing,Angular,Angular2 Routing,我正在重定向到我的Angular2站点,并附加了一些(可选)参数,如: https://my-site.com/?param1=some-value1¶m2=some-value2 因此,我想将值提取到变量中(如果存在): let value1 = extractValueByParam(url, param1Str); 可以用路由器变量实现吗?或者“正确”的方法是什么 到目前为止,我发现最好的方法是使用window.location.href值并自己解析它,但这似乎不是正确
https://my-site.com/?param1=some-value1¶m2=some-value2
因此,我想将值提取到变量中(如果存在):
let value1 = extractValueByParam(url, param1Str);
可以用路由器变量实现吗?或者“正确”的方法是什么
到目前为止,我发现最好的方法是使用window.location.href值并自己解析它,但这似乎不是正确的做法
谢谢 在NGM模块中,将路由设置为:
{path: '/:param1/:param2', component: YourComponent}
然后在组件中,使用以下内容获取值:
if(params['param1']){
var param1 = params['param1'];
}
您应该使用
queryParams
:
构造函数(私有的_ar:ActivatedRoute){
恩戈尼尼特(){
this._ar.params.subscribe(params=>console.log(params));//params与“/”一起使用
this._ar.queryParams.subscribe(params=>console.log(params));//与“?”/”一起使用的可选参数
}
官方文件: