【发布时间】:2017-07-08 03:33:10
【问题描述】:
我正在从服务器获取一些数据,然后将其解析为 TypeScript 类。我正在尝试使用一些继承——每个类都需要能够报告它的类型。 以下是它的工作原理:
这是基类
import { PageElementType } from './page-element-type'
export class PageElement {
pageElementType: PageElementType;
constructor(aPageElementType: PageElementType) {
this.pageElementType = aPageElementType;
}
}
这是一个派生类
import { PageElement } from './page-element.model'
import { PageElementType } from './page-element-type'
export class Metadata extends PageElement {
id: number;
body: string;
constructor(){
super(PageElementType.metadata);
}
}
这是我用来解析数据的服务函数
getExam(){
let exam = this.http.get('http://orangeberry.hopto.org/api/Exam/1')
.map((response:Response) => <Exam>response.json())
.do(data => console.log(data));
return exam;
}
好像我得到了一些普通的对象。我想要真正遵循类定义的有意义的功能对象。对于我的案例来说,实现这一目标的最简单、最直接的方法是什么?
【问题讨论】:
-
您期望
Exam的实例? -
是的。对不起,如果我的示例代码有误导性:类型功能是在其他类中实现的,而不是考试本身。考试包含一组元数据对象。
标签: javascript json angular typescript