Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用*ngIf测试变量是否定义为2_Javascript_Angular_Ionic Framework - Fatal编程技术网

Javascript 如何使用*ngIf测试变量是否定义为2

Javascript 如何使用*ngIf测试变量是否定义为2,javascript,angular,ionic-framework,Javascript,Angular,Ionic Framework,是否有一种方法可以使用*ngIf来测试变量是否已定义,而不仅仅是它是否真实 在下面的示例中,HTML仅显示红色项目的装运成本,因为item.shipping已定义且非零。我还想显示蓝色项目的成本(运输已定义但为零),但不显示绿色项目的成本(运输未定义) JavaScript: HTML: 颜色为{{item.color} 运输成本为{{item.shipping} 它不起作用 错误:未捕获(承诺中):TypeError:无法读取属性 未定义类型的“shipping”错误:无法读取的属性“s

是否有一种方法可以使用*ngIf来测试变量是否已定义,而不仅仅是它是否真实

在下面的示例中,HTML仅显示红色项目的装运成本,因为item.shipping已定义且非零。我还想显示蓝色项目的成本(运输已定义但为零),但不显示绿色项目的成本(运输未定义)

JavaScript:

HTML:


颜色为{{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>