错误错误:无法读取未定义的属性“长度”[关闭]
2019-01-11
582
我有两个
json
文件,分别名为
contacts
和
workers
。我正在显示
workers
JSON 中的联系人及其分配的工作人员,如下所示:
ERROR TypeError: Cannot read property 'length' of undefined
这里我遇到了错误,我无法找出代码中的问题。
2个回答
只需用条件包装您的
forLoop
,就像这样 -
if (this.workers && this.workers.length) { }
问题是您正在使用视图部分调用/绑定方法,并且每次在变化检测中都会调用它。所以首先
this.workers
是空的,它会引发错误。
Pardeep Jain
2019-01-11
按如下方式更新您的功能:
getWorkerById(workerId) {
if(this.workers.length > 0){
for(let w of this.workers) {
if(w.id === workerId)
return w.name;
}
}
}
并为工作人员添加 ngIf
<tr *ngIf="contact.workers">
<td>Assigned Workers</td>
<td>
<ul>
<li *ngFor="let workerId of contact.workers">
{{getWorkerById(workerId)}}</li>
</ul>
</td>
</tr>
Sneha Pawar
2019-01-11