[英]Angular 6 passing in parameters into URL
所以我有一个 angular 应用程序,它目前有一个路由,比如“urlname/stockdata”。 我希望能够将股票代码传递到该网址中,例如“urlname/stockdata/AAPL”。 我的应用程序正在使用该符号调用第三方 API。 你们对我如何做到这一点有什么建议吗? 任何帮助表示赞赏。 谢谢
您可以使用如下参数声明路由:
export const routes: Routes = [
{ path: 'urlname/stockdata/:id', component: MyComp}
];
在模板中创建链接:
<a [routerLink]="['/urlname/stockdata', id]">MyLink</a>
或者从.ts
导航:
this.router.navigate(['/urlname/stockdata', id]);
然后你可以阅读它:
constructor(private route: ActivatedRoute) {}
this.route.params.subscribe(params => {
this.id = params['id'];
});
TS文件
const routes: Routes = [{
path: '',
children: [{
path: 'plans/:id',
component: PlanListComponent,
canActivateChild: [AuthGuard]
}]
}];
HTML
<a class="dropdown-item" (click)="viewDetails(product.id)">View Detail</a>
TS
viewDetails (productId) {
this.router.navigate([ BASE_URL +"/plans/" + productId]);
}
首先,考虑您必须在 URL 中发送 4 个参数,例如。 区,状态, MP & JC 。
为此,请转到文件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;
} );
}
现在来到文件sample.service.ts
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 中传递任意数量的参数,并要求您的后端团队接收这些参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.