我有以下接口
export interface Student {
id: number;
firstname: string;
lastname: string;
birthdate?: Date;
created_at: Date;
updated_at: Date;
contacts: Contact[];
contacts_attributes: Contact[];
}
export interface StudentsData {
students: Student[];
count: number;
offset: number;
limit: number;
}
以及返回Observable<StudentsData>
的服务
getStudentsData(orderBy?: string, orderDirection = 'asc'): Observable<StudentsData> {
return this.http.get<StudentsData>('/api/students', {params})
}
是否可以使用Observable<StudentsData>
并创建Observable<Stundet[]>
?
您正在寻找rxjs运算符映射:
this.getStudentsData(....).pipe( map(studentsData => studentsData.students) )
Pluck
当你只想提取一部分数据时,Pluck会更简洁一点:
this.getStudentsData(/* Your params... */)
.pipe(pluck('students'))