kri*_*iss 6 angular-http angular
$ http.get返回的对象没有方法.示例:我有我的班级模型
export class Lab {
constructor(
public id: number,
public name: string,
public description: string,
public isActive: boolean,
public classes: Classes[]
) { }
isActive(lab: Lab) {
return this.isActive;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的服务中,我打电话给http取实验室
getLab(labId: number) {
return this.http.get<Lab>(DidacticsServiceUrls.apiRoot + labId).toPromise();
}
Run Code Online (Sandbox Code Playgroud)
当我在某个组件中得到它时,方法isActive是未定义的,所以调用
lab.isActive();
Run Code Online (Sandbox Code Playgroud)
抛出异常.这有什么清洁的解决方案吗?
服务器只返回由定义对象的属性形成的数据.它实际上并不创建对象的实例.
尝试这样的事情:
this.lab = Object.assign(new Lab(), this.retrievedLab)
Run Code Online (Sandbox Code Playgroud)
this.retrievedLab从服务器返回的数据在哪里.
这应创建对象,然后将任何检索到的属性复制到其中.
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |