我一直得到一个未定义的类型错误" ERROR TypeError:无法读取属性' length'未定义"。在我的类中,我有一个数组对象,它有另一个数组对象。基本上我有一个看起来像这样的课程:
export class ICase {
shareCaseReason?: string;
caseDetails?: ICasedeit;
involvedPersonsAndOrganisations?: IInvolved;
policeOfficers?: IPolice[];
incidents?: IIncident[];
offences?: IOffence[];
suspect?: ISuspectDetails[];
witnessStatements?: IStatements[];
interviewNotes?: IIncident[];
notebookEntries?: INotebook;
victims?: IVictim[];
witnesses?: IWitness[];
physicalEvidence?: IEvidence[];
otherDocumentaryEvidence?: IDocEvidence[];
}
我想从ISuspectDetails对象数组中显示一个属性。这个类看起来像这样:
export class ISuspectDetails {
ageRange: string;
juvenile: IJuvenile;
timeincustody: ITimeInCustody;
particularNeeds: IParticularNeeds;
complaints: IComplaint[];
principalEvidenceTypes: IEvidenceTypes;
motivationTypes: IMotivationTypes;
bailRecords: IBailRecords;
constructor() {
this.complaints = [];
};
}
我想在我的组件中显示ngFor上的ISuspectDetails投诉数组的长度。我的模板如下所示:
<div class="container-fluid scrollable-grid" *ngIf='template && template.shareCase && template.shareCase.case && template.shareCase.case.suspects'>
<div class="row gridData" *ngFor="let suspect of template.shareCase.case.suspects">
<div class="col-2"> {{suspect?.chargeDate}} </div>
<div class="col-1"> {{suspect?.complaint?.length}} </div>
</div>
</div>
我已在我的组件中定义了这样的嫌疑人数组,并且我还在ISuspectDetails的构造函数中定义了投诉数组。我不确定如何定义这个数组,然后显示投诉数组的长度。
this.template.shareCase.case.suspect = [];
非常感谢所有帮助!刚刚开始使用Angular,我掌握了大部分内容,但我似乎无法在任何地方找到解决这个问题的方法!
答案 0 :(得分:2)
你的html中有一个拼写错误,complaint
而不是complaints
。改为:
{{怀疑?.complaints?。长度}}