加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:34:09 所属栏目:安全 来源:网络整理
导读:$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.is
$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;
    }
}

在我的服务中,我打电话给http取实验室

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是从服务器返回的数据.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读