我定义了数组,并初始化了(TWICE),但是在运行时出现“ ERROR TypeError:无法读取未定义的属性'length'的信息”。
我已经尝试检查数组是否已定义(如您在我的代码中看到的那样),但是angular仍在拖曳我。
我已经尝试了所有解决方案,例如将sintax更改为“ filesToUpload && filesToUpload?.length> 0”或任何可能的组合,但是Angular在imo上无法正常工作。
component.html文件
<ng-container *ngIf="undefined !== filesToUpload && filesToUpload.length > 0">
<button (click)='uploadImages()'
class="btn btn-success"
type="button">
<i class="fas fa-upload"></i>Upload
</button>
<button (click)='cancelUpdate()'
class="btn btn-danger"
type="button">Cancel</button>
</ng-container>
这是我的component.ts文件
export class ImageGalleryUploadComponent implements OnInit
{
filesToUpload: File[] = [];
ngOnInit() {
this.filesToUpload = []
}
}
这是有角度的错误吗?还是与组件生命周期有关?
最佳答案
在将undefined
分配给Array对象的某个地方尝试此操作。
<ng-container *ngIf="filesToUpload && filesToUpload != 'undefined' && filesToUpload.length > 0">
尽管这不是一个好习惯,但是只需尝试一次,如果确认,则交叉检查代码。