代码之家  ›  专栏  ›  技术社区  ›  Post Impatica

AngularX Nswitch始终使用NswitchDefault

  •  1
  • Post Impatica  · 技术社区  · 8 年前

    出于某种原因,不管我使用什么格式来构造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>
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   Post Impatica    8 年前

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

    <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>
    
    推荐文章