所以我不断收到这个错误“TypeError:无法读取未定义的属性”otherDocumentaryEvidence“。我知道我需要初始化这个对象,但我不确定这个过程。我的理解是,对象被在ngOnInit阶段从模板服务定义如何初始化在OnInit中定义的嵌套对象? Angular2
ngOnInit(): void {
this._templateService
.getTemplateSnapshot(this.template)
.responseData()
.subscribe(templateSnapStream => {
return this.shareCase = templateSnapStream.result;
})
}
我的目标看起来像这样
export class ShareCase {
shareCaseReason?: string;
caseDetails?: ICasedeit;
involvedPersonsAndOrganisations?: IInvolved;
policeOfficer?: IPolice;
incidents?: IIncident;
offences?: IOffence;
suspect?: ISuspectDetails
witnessStatements?: IStatements;
interviewNotes?: IIncident;
notebookEntries?: INotebook;
victims?: IVictim;
witnesses?: IWitness;
physicalEvidence?: IEvidence;
otherDocumentaryEvidence?: IDocEvidence;
}
在我的组件的代码,我初始化无论是分享案例对象和otherDocumentaryEvidence对象在像这样的构造函数中:
this.shareCase = new ShareCase();
this.shareCase.otherDocumentaryEvidence = new IDocEvidence();
但是我仍然得到相同的错误?我不确定这是为什么。在我的模板中调用此对象的行也看起来像这样
<div *ngIf='shareCase && shareCase.case.otherDocumentaryEvidence && shareCase.case.otherDocumentaryEvidence.length > 0'>
任何帮助将不胜感激!
魔法!非常感谢! –
高兴地帮助你 – Aravind