我從服務器獲取一些數據,然後將其解析爲TypeScript類。我試圖使用一些繼承 - 每個類都需要能夠報告它的類型。 這裏是如何工作的:解析JSON時未調用數據對象構造函數
這是基類
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'的一個實例嗎? –
是的。對不起,如果我的示例代碼是錯誤的:類型功能是在其他類中實現的,而不是考試本身。考試包含一組元數據對象。 –