gpt4 book ai didi

angular - http 响应对象中没有方法

转载 作者:太空狗 更新时间:2023-10-29 17:31:59 25 4
gpt4 key购买 nike

$http.get 返回的对象没有方法。例子:我有我的类(class)模型

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;
}
}

在我的服务中,我调用了 http fetching lab

getLab(labId: number) {
return this.http.get<Lab>(DidacticsServiceUrls.apiRoot + labId).toPromise();
}

当我在某个组件中得到这个时,方法 isActive 是未定义的,所以调用

lab.isActive();

抛出异常。有什么干净的解决方案吗?

最佳答案

服务器只返回形成 的数据,这些数据具有来自已定义对象的属性。它实际上并不创建对象的实例。

尝试这样的事情:

this.lab = Object.assign(new Lab(), this.retrievedLab)

其中this.retrievedLab是服务器返回的数据。

这应该创建对象,然后将任何检索到的属性复制到其中。

关于angular - http 响应对象中没有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com