【发布时间】:2019-07-06 05:49:50
【问题描述】:
我想将映射到一个可观察的角度,以获取我从 api 使用的对象(数组)的属性,因为我想在该数组中进行验证以了解是否更新/创建记录.
下午好,我想做一个查询,我通过 observable 进行 http 查询,如下所示:
public getAllEquipos() : Observable<Equipos[]> {
return this.http.get<Equipos[]>(this.baseurl + 'equipos')
}
然后我在角材料的数据表中使用这些数据:
RenderDataTable() {
this.service.getAllEquipos().subscribe(
(res) => {
this.dataSource = new MatTableDataSource();
this.dataSource.data = res;
// console.log(this.dataSource.data);
// this.dataSource.sort = this.sort;
this.dataSource.paginator = this.paginator;
console.log(res)
},
(error) => {
console.log('Se produjo un error mientras intentaba recuperar Usuarios!' + error);
});
}
我要问你一个问题,是否有可能变量 res,它是 subscribe 方法的第一个参数,你会在那个函数之外使用吗?既然是有问题的安排,我向你提到它是因为我需要为我得到的可观察对象制作一个映射,我只获得对象的一个属性,也就是说,我只想把这个属性带给我,并且然后使用此对象或数组进行检查。当我想更新/创建记录时,因为取决于 ID 是否已经在数组中,记录将被更新,否则将被创建。
我也不知道如何将地图应用于我的 observable,如果您能帮助我,我将不胜感激。
`
Observable <Equipos[]>: in this case <Equipos[]> is an interface
`
PD:getAllEquipos() 函数在服务文件中,而 RenderDataTable() 函数在组件中
【问题讨论】:
-
如果您想在响应处理程序之外使用来自 HTTP 响应对象的属性,您需要在您的组件上创建一个属性并从您的响应处理程序中分配它。
-
@JackA。我认为在我的组件中有一个变量,例如 test 并在函数 RenderDataTable () { // code this.res = test // 其中 test 是我在组件中声明的变量 }
标签: javascript angular typescript