简体   繁体   English

ngIf 检查对象是否为空 [完成]

[英]ngIf check if object is empty [done]

i have a list name "day".我有一个列表名称“天”。

export class Day{
    id:number;
    name: string;
    items: Object;
}

i want to display "Hello" when items is empty.当项目为空时,我想显示“你好”。 I try to used *ngIf but it doesn't work.我尝试使用 *ngIf 但它不起作用。 This is my code.这是我的代码。

<div class=" list" *ngFor="let day of days">
    <div class="list-name">
        <strong>
            {{day.name}}
        </strong>
        <div *ngIf= "day.items === 0">
            Hello
        </div>
    </div>
    <div *ngFor="let item of day.items">
        <div class="column" [style.background-image]="'url(' + item.photoPath + ')'">
            <h4 class="item-name">{{item.name}}</h4>
        </div>
    </div>
</div>

As I seem items is not an array.我似乎 items 不是一个数组。 It is an object.它是一个对象。 Using ngFor over an Object would resuslt in an error.在对象上使用 ngFor 会导致错误。

Secondly, you should use .length over an array to get the count of Objects.其次,您应该在数组上使用 .length 来获取对象的数量。 so it should be as,所以它应该是,

<div *ngIf= "day?.items?.length === 0">

您必须使用长度来检查数组大小

<div *ngIf= "day.items?.length === 0">

尝试这个

<div *ngIf= "day.items.length === 0">

You can use <div *ngIf= "day.items == null || day.items.length === 0"> for check items is null or empty.您可以使用<div *ngIf= "day.items == null || day.items.length === 0">来检查项目是否为 null 或为空。

Demo https://stackblitz.com/edit/angular-scssrw演示https://stackblitz.com/edit/angular-scssrw

You can simply make use of conditional statement expression inside your interpolation without using 'ngIf'.您可以简单地在插值中使用条件语句表达式,而无需使用 'ngIf'。

...
<strong>
   {{ (day.item && day.item?.length) ? day.name : day.name + 'Hello' }}
</strong>
...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM