【发布时间】:2018-03-27 10:05:19
【问题描述】:
我有一个相当标准的服务返回一些 JSON。
一个示例返回正文可能是:
[{ a: 1, b: 2 }]
我想将此映射到以下 Typescript 类的实例:
export class MyClass {
a: number;
b: number;
get c() : number {
return this.a + this.b;
}
}
我错误地认为HttpClient.get 会这样做,但是虽然它确实将其映射到兼容对象,但它们缺少该属性。
this.http.get<MyClass[]>('http://www.example.com/endpoint');
有没有办法让 Angular 自动执行此操作,或者我需要像这样手动映射:
.map(data => {
const results : MyClass[];
for(const d of data) {
const mc = new MyClass();
mc.a = d.a;
mc.b = d.b;
results.push(mc);
}
return results;
});
它可以工作,但编写代码很繁琐,并且可以轻松地在我的代码中创建我不想要的依赖项。
【问题讨论】:
标签: angular typescript