Javascript 角度6将参数传递到URL

Javascript 角度6将参数传递到URL,javascript,angular,routing,Javascript,Angular,Routing,所以我有一个angular应用程序,目前有一个路径,比如“urlname/stockdata”。我希望能够将股票符号传递到该url中,例如“urlname/stockdata/AAPL”。我的应用程序正在调用带有该符号的第三方API。你们对我怎么做有什么建议吗。感谢您的帮助。谢谢您可以使用以下参数声明路由: export const routes: Routes = [ { path: 'urlname/stockdata/:id', component: MyComp} ]; 在模板中创

所以我有一个angular应用程序,目前有一个路径,比如“urlname/stockdata”。我希望能够将股票符号传递到该url中,例如“urlname/stockdata/AAPL”。我的应用程序正在调用带有该符号的第三方API。你们对我怎么做有什么建议吗。感谢您的帮助。谢谢

您可以使用以下参数声明路由:

export const routes: Routes = [
  { path: 'urlname/stockdata/:id', component: MyComp}
];
在模板中创建链接:

<a [routerLink]="['/urlname/stockdata', id]">MyLink</a>

然后,您可以通过以下方式阅读:

constructor(private route: ActivatedRoute) {}

this.route.params.subscribe(params => {
  this.id = params['id'];
});

首先,考虑在URL中发送4个参数,如:强>区域< /强>,<强>状态< /强>,<强> MP < /强> <强> JC> /强> .BR> 关于这个,请存档 sample.component.ts


 functionName() {
 let param={
      zone:this.selectZone,
      state:this.selectState,
      jc:this.stateJC,
      mp:this.MPdata
    }

 this.availservice.AvailReport(param)
      .subscribe((json) => {
      this.ArrayResponse= json;
      } );
}
 AvailReport(param) {  
let UrlTemp= `http://11.111.11.11:3838/getdata/AVAILABILITY_${param.zone}_${param.state}_${param.jc}_${param.mp}.JSON?callback=true`;
    return this.http.get(UrlTemp);
  }
现在来归档 示例服务.ts


 functionName() {
 let param={
      zone:this.selectZone,
      state:this.selectState,
      jc:this.stateJC,
      mp:this.MPdata
    }

 this.availservice.AvailReport(param)
      .subscribe((json) => {
      this.ArrayResponse= json;
      } );
}
 AvailReport(param) {  
let UrlTemp= `http://11.111.11.11:3838/getdata/AVAILABILITY_${param.zone}_${param.state}_${param.jc}_${param.mp}.JSON?callback=true`;
    return this.http.get(UrlTemp);
  }
可以肯定的是,您会得到如下响应:

Request URL: http://10.141.55.49:3838/getdata/AVAILABILITY_ZoneName_StateName_MPName_JCName.JSON?callback=true
使用此方法,您可以在URL中传递任意数量的参数,并要求后端团队接收这些参数。

TS文件

const routes: Routes = [{
  path: '',
  children: [{
    path: 'plans/:id',
    component: PlanListComponent,
    canActivateChild: [AuthGuard]
  }]
}];
HTML

 viewDetails (productId) {
        this.router.navigate([ BASE_URL +"/plans/" + productId]);
    }