Angular 在指令上使用*ngIf

Angular 在指令上使用*ngIf,angular,angular-material,angular-directive,angular-ng-if,Angular,Angular Material,Angular Directive,Angular Ng If,我有一个mat图标和一个mat徽章,上面有一个数字 我正在寻找删除mat-badge仅当编号为时,您可以使用matBadge指令的matBadge-hidden输入属性 <mat-icon matBadge="{{matBadge}}" class="icon" [matBadgeHidden]="number<=0">shopping_cart</mat-icon> 购物车 @displayName答案非常清晰,您应该使用它,但您也可以将*ngIf与else一起

我有一个
mat图标
和一个
mat徽章
,上面有一个数字


我正在寻找删除
mat-badge
仅当编号为
时,您可以使用
matBadge
指令的
matBadge-hidden
输入属性

<mat-icon matBadge="{{matBadge}}" class="icon" [matBadgeHidden]="number<=0">shopping_cart</mat-icon>
购物车

@displayName答案非常清晰,您应该使用它,但您也可以将*ngIf与else一起使用,以备使用

<mat-icon matBadge="{{matBadge}}" class="icon" *ngIf="matBadge > 0; else matBadgeHidden">shopping_cart</mat-icon>

<ng-template #matBadgeHidden>
<mat-icon class="icon">shopping_cart</mat-icon>
</ng-template>
购物车
购物车

它可以工作,但是ng模板是否有一些默认样式,如边距、填充?似乎它有自己的风格[matBadgeHidden]=“!matBadge”
<mat-icon matBadge="{{matBadge}}" class="icon" *ngIf="matBadge > 0; else matBadgeHidden">shopping_cart</mat-icon>

<ng-template #matBadgeHidden>
<mat-icon class="icon">shopping_cart</mat-icon>
</ng-template>