4
我正在玩Angular2,希望有人能提供一些建議,如何實現這一點;如何在模型中定義嵌套對象? (angular2/typescript)
例如,如果我的模型目前看起來像這樣的員工:
export class Employee {
constructor(
public firstName: string,
public lastName: string,
public email: string,
public days: string,
public hours: string,
){}
}
,我想以天/小時放入自己的對象,怎麼可能實現?
(即如..)
public availability: {
public days: string,
public hours: string
},
,然後將在HTTP GET請求保持不變像下面?
getEmployees() {
return this.http.get('...')
.map((response: Response) => {
const data = response.json().obj;
let objs: any[] = [];
for(let i = 0; i < data.length; i++) {
let employee = new Employee(
data[i].firstName,
data[i].lastName,
data[i].email,
data[i].availability.days,
data[i].availability.hours
);
objs.push(employee)
}
return objs
})
}
只是爲了澄清,我想我的請求返回類似的東西;
var obj = {
firstName: "test",
lastName: "test",
email: "test",
availability: {
days: "test",
hours: "test"
}
}
希望有人能幫幫忙!我試圖環顧四周,但沒有遇到任何可以提供幫助的東西。
嗨,我得到的錯誤 - '無法找到'可用'的名稱.'是服務中出現的內容,以及類文件 - '';' expected'。除非你導入它,否則我認爲'export class Availability'在Employee類中是不可見的? – confusedandenthused
@confusedandenthused是的抱歉,'Availability'類應該有它的構造函數,我已經修復它,然後在'Employee'類和你的服務中導入'Availability'類。 – Michael
謝謝 - 這讓它工作!另外值得注意的是,您必須將新類導入組件才能使其正常工作。 – confusedandenthused