我有两个json
文件,分别称为contacts
和workers
。我正在这样显示来自workers
JSON的联系人及其分配的工作人员:
ERROR TypeError:无法读取未定义的属性'length'
在这里我被错误困住了,我找不到代码出了什么问题。
答案 0 :(得分:1)
只需将您的forLoop
加上条件,就像这样-
if (this.workers && this.workers.length) { }
您正在使用视图部件调用/绑定方法的问题,并且每次在更改检测中都调用它。因此,首先this.workers
为空,并且会引发错误。
答案 1 :(得分:1)
更新您的功能,如下所示:
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>