Согласно официальной документации ngIf
Вы только что ошиблись в синтаксисе, вы должны использовать его без -
и с *
в начале, как это *ngIf
, проверьте пример ниже.
<mat-chip-list *ngFor="let label of testValue2">
<mat-chip *ngIf="!label">{{label}}</mat-chip>
</mat-chip-list>
Но если он включен <ng-template></ng-template>
, то синтаксис немного отличается
<mat-chip-list *ngFor="let label of testValue2">
<ng-template [ngIf]="!label">
<mat-chip>{{label}}</mat-chip>
</ng-template>
</mat-chip-list>
Существует также else
для этой директивы.
<mat-chip-list *ngFor="let label of testValue2">
<mat-chip *ngIf="!label; else secondOption">{{label}}</mat-chip>
<ng-template #secondOption>
<mat-chip>Second Option</mat-chip>
</ng-template>
</mat-chip-list>
Опять есть другой синтаксис, если *ngIf
и else
включены ng-template
.
<mat-chip-list *ngFor="let label of testValue2">
<ng-template [ngIf]="!label" [ngIfElse]="secondOption" ]>
<mat-chip>{{label}}</mat-chip>
</ng-template>
<ng-template #secondOption>
<mat-chip>Second Option</mat-chip>
</ng-template>
</mat-chip-list>