如何使用Angular4将参数传递到服务中

时间:2018-01-31 12:38:12

标签: javascript angular angular-routing

我需要将一些参数传递给我的服务,请让我知道我应该在哪里构建参数:在组件部分?还是在服务部分?并建议制作可以发送到我的php服务器的url-parameters,我的component.ts文件从我的API获取所有必需的列表:

transaction:any;
myList(transNo){
this.service.listOfData(transNo).subscribe(
  (data) => {
    this.source.load(data.records);
    this.dataLoaded = true;
  },
);
}
ngOnInit() {
this.settings = Object.assign({}, this.WorkshopDetailsSetting);
this.listTransaction(this.transaction);
this.optionsSelect = [
  { value: '1', label: 'Transaction 1' },
  { value: '2', label: 'Transaction 2' },
  { value: '3', label: 'Transaction 3' },
  { value: '4', label: 'Transaction 4' },
  { value: '5', label: 'Transaction 5' },
  { value: '6', label: 'Transaction 6' }
]

}

和我的service.ts如下:

listOfData(data): Observable<any> {
    return this.http.get(`${this.API_ROOT}${this.API_LIST}`, data)
        .map(
        (res: Response) => res.json() || {},
    ).catch(this.handleError);
}

请建议我如何将基于参数的参数从组件,服务或服务转换为API。

1 个答案:

答案 0 :(得分:1)

所以你的服务应该是这样的,

listOfData(data): Observable<any> {
        const url = `${environment.apiUrl}/getList?trans=${data}`;      
        const headers = new Headers();
        const options = new RequestOptions({ headers: headers });
        return this.http.get(url, options).map(
           (res: Response) => res.json() || {},
           ).catch(this.handleError);
    }