Javascript 如何使用*ngIf测试变量是否定义为2
是否有一种方法可以使用*ngIf来测试变量是否已定义,而不仅仅是它是否真实 在下面的示例中,HTML仅显示红色项目的装运成本,因为item.shipping已定义且非零。我还想显示蓝色项目的成本(运输已定义但为零),但不显示绿色项目的成本(运输未定义) JavaScript: HTML:Javascript 如何使用*ngIf测试变量是否定义为2,javascript,angular,ionic-framework,Javascript,Angular,Ionic Framework,是否有一种方法可以使用*ngIf来测试变量是否已定义,而不仅仅是它是否真实 在下面的示例中,HTML仅显示红色项目的装运成本,因为item.shipping已定义且非零。我还想显示蓝色项目的成本(运输已定义但为零),但不显示绿色项目的成本(运输未定义) JavaScript: HTML: 颜色为{{item.color} 运输成本为{{item.shipping} 它不起作用 错误:未捕获(承诺中):TypeError:无法读取属性 未定义类型的“shipping”错误:无法读取的属性“s
- 颜色为{{item.color}
- 运输成本为{{item.shipping}
它不起作用
错误:未捕获(承诺中):TypeError:无法读取属性
未定义类型的“shipping”错误:无法读取的属性“shipping”
未定义
你可以用这样的东西
<ul *ngFor="let item of items">
<li *ngIf="item && item.color">The color is {{item.color}}</li>
....
</ul>
我想在页面上显示3个项目,但它在Ionic 3中显示错误。我尝试了typeof(item.shipping)==未定义,但不起作用。请帮帮我!谢谢,我还没有使用Angular.js,但是快速查看文档,似乎可以使用非常复杂的条件。我很累,所以我没有发布答案,而是查看提示。根据错误消息,它说您正在从
未定义的中检索配送
,我认为这与*ngFor无关。检查其他部件是否使用了item.shipping
或xxx.shipping
。谢谢@tiepphan运费是{{item.shipping}
这对我有用!
<ul *ngFor='let item of items'>
<li *ngIf='item.color'>The color is {{item.color}}</li>
<li *ngIf='item.shipping'>The shipping cost is {{item.shipping}}</li>
</ul>
<ul *ngFor="let item of items">
<li *ngIf="item && item.color">The color is {{item.color}}</li>
....
</ul>
<ul *ngFor="let item of items">
<li *ngIf="item?.color">The color is {{item.color}}</li>
....
</ul>