Angular 错误:无法读取属性';长度';未定义的
我有两个名为Angular 错误:无法读取属性';长度';未定义的,angular,typescript,Angular,Typescript,我有两个名为contacts和workers的json文件。我正在显示workersJSON中的联系人及其分配的工作人员,如下所示: 错误类型错误:无法读取未定义的属性“length” 在这里,我被错误缠住了,我无法找到代码的错误 只需将您的forLoop包装成条件,如下所示- if (this.workers && this.workers.length) { } 问题:您正在使用视图部件调用/绑定方法,并且每次在更改检测中它都会调用。所以在第一个中,this.worker
contacts
和workers
的json
文件。我正在显示workers
JSON中的联系人及其分配的工作人员,如下所示:
错误类型错误:无法读取未定义的属性“length”
在这里,我被错误缠住了,我无法找到代码的错误
只需将您的
forLoop
包装成条件,如下所示-
if (this.workers && this.workers.length) { }
问题:您正在使用视图部件调用/绑定方法,并且每次在更改检测中它都会调用。所以在第一个中,this.workers
为空,并抛出错误
只需将您的
forLoop
包装成条件,如下所示-
if (this.workers && this.workers.length) { }
问题:您正在使用视图部件调用/绑定方法,并且每次在更改检测中它都会调用。所以在第一个中,this.workers
为空,并抛出错误
更新您的功能,如下所示:
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>
指定工人
-
{{getWorkerById(workerId)}
按如下方式更新您的功能:
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>
指定工人
-
{{getWorkerById(workerId)}
很抱歉,您没有对工作示例Update stackblitz进行任何更改,请重试。抱歉,您没有对工作示例Update stackblitz进行任何更改,请重试