服务里:是用来请求api的一个模块。
login(userName, password) {
const url = '../../../../assets/data/login.json';
return this.http
.get(url, {userName: userName, password: password})
.pipe(catchError(this.handleError));
}
// 获取表头数据 在调用这个函数时,url在变化。
getHeaders(url, args?: any) {
return this.http
.get(url)
.pipe(catchError(this.handleError));
}
// 获取表格数据 所有需要传递的参数都在get传递
getTableData(url, params= {}, current = 1, count = 5, args?: any) {
return this.http
.get(url, { params: params, count: count, page: current})
.pipe(catchError(this.handleError));
}
// 获取表头数据
this.api.getHeaders(this.url_headers).subscribe((data: any) => {
// console.log( 'headers',data);
this.headers = data[this.header];
});
// 获取表格数据
this.api.getTableData(this.url).subscribe((data: any) => {
console.log('table data',data,);
this.data = data['data'];
});
}
search(data) {
console.log('search', data);
this.api.getTableData(this.url, this.params).subscribe((dat: any) => {
this.data = dat['data'];
});
this.chartToggle1();
this.chartToggle2();
}
使用httpClient服务请求数据常用方法如下:http.get(url).subscribe(...)
export class ApiService {
// 登录 一种是url是不变的。只需传参。login(userName, password) {
const url = '../../../../assets/data/login.json';
return this.http
.get(url, {userName: userName, password: password})
.pipe(catchError(this.handleError));
}
// 获取表头数据 在调用这个函数时,url在变化。
getHeaders(url, args?: any) {
return this.http
.get(url)
.pipe(catchError(this.handleError));
}
// 获取表格数据 所有需要传递的参数都在get传递
getTableData(url, params= {}, current = 1, count = 5, args?: any) {
return this.http
.get(url, { params: params, count: count, page: current})
.pipe(catchError(this.handleError));
}
}
需要调用服务的模块里
url_headers = '../../../../assets/data/headers.json';
url = '../../../../assets/data/technical-management/site-management';
header = 'site-management';
params= [];
getTable () {// 获取表头数据
this.api.getHeaders(this.url_headers).subscribe((data: any) => {
// console.log( 'headers',data);
this.headers = data[this.header];
});
// 获取表格数据
this.api.getTableData(this.url).subscribe((data: any) => {
console.log('table data',data,);
this.data = data['data'];
});
}
search(data) {
console.log('search', data);
this.api.getTableData(this.url, this.params).subscribe((dat: any) => {
this.data = dat['data'];
});
this.chartToggle1();
this.chartToggle2();
}