Angular 2+:如何使用后端数据实例化一个类?

时间:2018-05-18 18:31:36

标签: json angular typescript

我有一个Customer类和一个ICustomer接口。

interface ICustomer { <-- retrieved from backend
    id: number;
    name: string;
    address: string; 
    // many more members
}

class Customer { <-- used throughout Angular app
    // other fields
    constructor(public data: ICustomer) {};
    // other methods
    refresh() {
        // ... retrieve customer data from backend
    }
}

我想用{&#39; id&#39;:5}这样的对象来实例化Customer,然后调用它的刷新()&#39;方法。但是我收到编译时错误,因为{&#39; id&#39;:5}没有实现ICustomer。

要解决这个问题,我可以在每个成员之后修改ICustomer,以及:

interface ICustomer {
    id: number;
    name?: string;
    address?: string; 
    // many more members
}

现在{&#39; id&#39;:5}(技术上)是ICustomer的一个实例。

但这感觉不对。有更好的解决方案吗?

编辑:我很好地将后端数据保存在“数据”中。 ICustomer类型的领域。我的问题是关于Customer类的实例化。

1 个答案:

答案 0 :(得分:1)

尝试hugo -v

应该工作。