我有一个从api返回的对象,而这个对象有一个子对象。 当我在组件html中显示此子对象的属性时,他会工作。 但是当我尝试构建项目时,出现以下错误:
对象可能是'undefined'。
我的html组件代码:
<img [src]="person?.gallery?.images[0]?.url" />
我也尝试下面的代码,但是现在可以正常工作并且很复杂:
<ng-container *ngIf="person !== undefined && person.gallery !== undefined && person.gallery.images !== undefined && person.gallery.length > 0 && person.gallery.images[0] !== undefined">
<img [src]="person?.gallery?.images[0]?.url" />
</ng-container>
在localhost中工作,但是当我执行ng build –prod时,出现这些错误。
答案 0 :(得分:0)
Angular的开发和生产模式不同。根据您在项目中使用的设置,生产模式可能会进行其他检查。
根据您的情况,尝试使用:
<ng-container *ngIf="person?.gallery?.images[0]?.url as u">
<img [src]="u" />
</ng-container>
我还建议重新考虑您的战术。 foo?.bar?.baz?.goo
构造看起来可以使用连击实现。