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