如何发送:id为角度2的服务URL

时间:2017-04-30 19:30:11

标签: angularjs angular2-routing angular2-forms angular2-services

我是角色2的新手。 你能帮助我吗?

我有这样的场景,

用户输入投诉ID即可获取投诉详情。

我有这样的网址:

http://192.168.0.106:8000/app/complaint/complaintstatus/:id

我们需要发送给server.so我们可以获取数据。

手动传递我正在获取数据

我的代码:

export class ComplaintService{
    private _url:string ="http://192.168.0.106:8000/app/complaint/complaintstatus"
    constructor(private _http:Http){}
    getCompliants(){
        return this._http.get(this._url).map((response:Response)=>response.json());
    }
}


export class ComplaintStatusComponent implements OnInit {

  constructor(private _complaintService:ComplaintService) { }
  complaints={};

  ngOnInit() {
    this.getCompliants();
  }
  getComplaintDetails(complntId:any){

    console.log(complntId);
    this._complaintService.getCompliants().subscribe(data => this.complaints=data);
 }
 getCompliants():void{

 }
}

2 个答案:

答案 0 :(得分:1)

将id作为参数传递给getCompliants函数并将其附加到url

 getComplaintDetails(complntId:any){ 
    console.log(complntId);
    this._complaintService.getCompliants(complntId).subscribe(data => this.complaints=data);
 }

export class ComplaintService{
    private _url:string ="http://192.168.0.106:8000/app/complaint/complaintstatus"
    constructor(private _http:Http){}
    getCompliants(complntId){
        return this._http.get(this._url + '/:' + complntId).map((response:Response)=>response.json());
    }
}

答案 1 :(得分:1)

我认为您在网址中寻找角度2传递参数请参考此链接: 为此,你可以为angular 2代码看起来像这样:

在您的方案中,您可以使用路由器代码:

{
    路径:' home / promotiondetail',
    组件:组件名称

}

在您的html方面,您可以声明您的路由器代码如下所示:

[routerLink] =" [' promotiondetail']" [queryParams] =" {id:{{id}}}"

您也可以参考以下网址:

How to use questionmark in URl using angular 2