Javascript 角度子对象对象可能是';未定义';
我有一个从api返回的对象,这个对象有一个子对象。 当我在我的组件html中显示这个子对象的属性时,他工作了。 但当我尝试构建我的项目时,会出现以下错误: 对象可能为“未定义” 我的html组件代码:Javascript 角度子对象对象可能是';未定义';,javascript,arrays,angular,typescript,lint,Javascript,Arrays,Angular,Typescript,Lint,我有一个从api返回的对象,这个对象有一个子对象。 当我在我的组件html中显示这个子对象的属性时,他工作了。 但当我尝试构建我的项目时,会出现以下错误: 对象可能为“未定义” 我的html组件代码: <img [src]="person?.gallery?.images[0]?.url" /> 我也尝试了下面的代码,但现在正在工作,而且很复杂: <ng-container *ngIf="person !== undefined &&
<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时,会出现这些错误。Angular中的开发和生产模式是不同的。根据您在项目中使用的设置,生产模式可能会执行其他检查 在您的情况下,请尝试使用:
<ng-container *ngIf="person?.gallery?.images[0]?.url as u">
<img [src]="u" />
</ng-container>
我还建议重新考虑你的策略。
foo?.bar?.baz?.goo
结构看起来可以使用batter实现。Angular中的开发和生产模式是不同的。根据您在项目中使用的设置,生产模式可能会执行其他检查
在您的情况下,请尝试使用:
<ng-container *ngIf="person?.gallery?.images[0]?.url as u">
<img [src]="u" />
</ng-container>
我还建议重新考虑你的策略。
foo?.bar?.baz?.goo
构造看起来可以使用batter实现。可能需要person?.gallery?.images?[0]?.url
-对图像进行额外的空保护。不确定-很难确定它所指的是哪个对象。上面的内容不适用于角度模板。我还看到您这样做person.gallery.images[0]!==在第二次测试中未定义,因此可能是另一行。如果完全删除
是否仍显示错误?可能需要个人?.gallery?.images?[0]?.url
-对图像进行额外的空保护。不确定-很难确定它所指的是哪个对象。上面的内容不适用于角度模板。我还看到您这样做person.gallery.images[0]!==在第二次测试中未定义,因此可能是另一行。如果完全删除
,是否仍显示错误?