尝试获取我的字符串值,而不是在Ng-if为false时不显示。我读过'!'字符串值上的值应使其返回false,但无论如何它一直在进行。我认为这可能是因为我没有从ngfor正确获取变量,但是我不确定。
我尝试了label =“”,它也做同样的事情,而且label.tostring()=''也是如此。
<mat-chip-list *ngFor = "let label of testValue2">
<mat-chip ng-if="!label">{{label}}</mat-chip>
</mat-chip-list>
我的预期结果是它返回false并且不确定垫芯片
谢谢大家
答案 0 :(得分:0)
答案 1 :(得分:0)
您刚刚在语法上犯了一个错误,应该在不使用-
的情况下使用它,并且像这样*
开头使用*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>