AngularX ngSwitch始终使用ngSwitchDefault

问题描述 投票:1回答:1

出于某种原因,无论我使用什么格式来构建我的ngSwitch,唯一可行的指令是* ngSwitchDefault。

这是我的代码:

<div class="icon-group" [ngSwitch]="published?.availableOn">
                <mat-icon *ngSwitchCase="Android" fontSet="fontawesome" fontIcon="fa-android" class="green-icon"></mat-icon>
                <mat-icon *ngSwitchCase="Windows" fontSet="fontawesome" fontIcon="fa-windows" class="blue-icon"></mat-icon>
                <mat-icon *ngSwitchCase="iOS" fontSet="fontawesome" fontIcon="fa-apple"></mat-icon>
                <mat-icon *ngSwitchCase="Web" fontSet="fontawesome" fontIcon="fa-internet-explorer"></mat-icon>
                <ng-container *ngSwitchCase="AndroidiOS">
                        <mat-icon fontSet="fontawesome" fontIcon="fa-android" class="green-icon"></mat-icon>
                        <mat-icon fontSet="fontawesome" fontIcon="fa-apple"></mat-icon>
                </ng-container>
                <mat-icon *ngSwitchDefault  fontSet="fontawesome" fontIcon="fa-internet-explorer"></mat-icon>  >

</div>
angular
1个回答
0
投票

问题是,在评估字符串时,您必须将它们放在单引号中,因此修复非常简单:

<div class="icon-group" [ngSwitch]="published?.availableOn">
                <mat-icon *ngSwitchCase=" 'Android' " fontSet="fontawesome" fontIcon="fa-android" class="green-icon"></mat-icon>
                <mat-icon *ngSwitchCase=" 'Windows' " fontSet="fontawesome" fontIcon="fa-windows" class="blue-icon"></mat-icon>
                <mat-icon *ngSwitchCase=" 'iOS' " fontSet="fontawesome" fontIcon="fa-apple"></mat-icon>
                <mat-icon *ngSwitchCase=" 'Web' " fontSet="fontawesome" fontIcon="fa-internet-explorer"></mat-icon>
                <ng-container *ngSwitchCase=" 'AndroidiOS' ">
                        <mat-icon fontSet="fontawesome" fontIcon="fa-android" class="green-icon"></mat-icon>
                        <mat-icon fontSet="fontawesome" fontIcon="fa-apple"></mat-icon>
                </ng-container>
                <mat-icon *ngSwitchDefault  fontSet="fontawesome" fontIcon="fa-internet-explorer"></mat-icon>  

</div>
© www.soinside.com 2019 - 2024. All rights reserved.