我知道这里可能已经回答了这个问题,但不能解决我的问题 Angular - Convert a Observable<number> to a number
在这里,我试图将数据作为数字传递给我的服务(角度6),以便执行数据分页。 如果我执行类似代码行的操作,数据将被发布到服务器后端
getAll(row: string, rowperpage: string): Observable<any> {
由于我正在使用可以帮助我执行分页的数字,如果实施
getAll(row: number, rowperpage: number): Observable<any> {
它将在下面显示错误
src / app / service / crud.service.ts(47,52)中的错误:错误TS2345:类型'(row:number,rowperpage:number)'的参数无法分配给类型'的参数(标题?:HttpHeaders | {标题:字符串|字符串[];)观察?:“正文”;参数?
请问如何将可观测数据转换为数字,以将其传递给Angular 6中的服务
这是我的 service.ts
//crud_s: Crud[];
constructor(private http: HttpClient) { }
getAll(row: number, rowperpage: number): Observable<any> {
return this.http.get(`${this.baseUrl}/list1`, {row: row, rowperpage: rowperpage}).pipe(
map((res) => {
this.crud_s = res['data'];
return this.crud_s;
}),
catchError(this.handleError));
}
这是我的 component.ts
row = 0;
rowperpage = 4;
getCars(): void {
this.crudService.getAll(this.row, this.rowperpage).subscribe(
res => {
//this.row+=this.rowperpage;
//more code coming
this.crud_s = res;
},
(err) => {
this.error = err;
}
);
}
答案 0 :(得分:0)
您引用的错误不是来自您说的那行,而是来自这里:
return this.http.get(`${this.baseUrl}/list1`, {row: row, rowperpage: rowperpage})
第二个参数是请求规范,而不是查询数据。要添加查询数据,您必须这样做:
return this.http.get(`${this.baseUrl}/list1`, {params:{row: row, rowperpage: rowperpage}})
甚至使用HttpParams-但仍然会像上面那样添加。