使用 Angular6 Service 构造函数初始化私有属性
2020-02-28
65
我尝试在 Angular6 服务中初始化几个对象,但出现错误,说明我的一个私有属性未定义。
起初我尝试这样做:
private mockIncident: Incident[];
constructor() {
this.mockIncidentRaw.forEach(incident => {
this.mockIncident.push(new Incident().deserialize(incident))
});
}
但出现错误,提示 mockIncident 未定义。
错误:未捕获(在承诺中):TypeError:无法读取未定义的属性“push”。
public mockIncident: Incident[];
constructor() {
init();
}
init = () => {
for(let i = 0; this.mockIncidentRaw.length; i++) {
this.mockIncident.push(new Incident().deserialize(this.mockIncidentRaw[i]))
}
}
2个回答
public mockIncident: Incident[];
声明了一个未定义的对象。
执行此操作
public mockIncident: Incident[] = []
,以便进行数组初始化。在这里,您将拥有数组的所有属性,如
push()
Axiome
2020-02-28
mockIncident
数组未初始化,add = [];
private mockIncident: Incident[] = [];
porgo
2020-02-28