ngSwitch 默认情况不执行

les*_*nar 1 angular

我想在我的代码中实现ngSwitch如下:

<div [ngSwitch]="accessLevel">
    <div class="customer" *ngSwitchCase="ENABLED">
        This is customer data
    </div>
    <div  *ngSwitchDefault> 
        this is default
    </div>
    <div class="customer-blurr" *ngSwitchCase="DISABLED"> 
        This is disabled Customer Data
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

就我而言accessLevel,未定义,我期待this is default但它显示:

This is customer data.

This is disabled Customer Data.
Run Code Online (Sandbox Code Playgroud)

正如我从官方文档中读到的,如果没有任何匹配,它应该进入默认情况。我错过了什么吗?

ran*_*al9 6

更改您的 HTML,如下所示:

    <div [ngSwitch]="accessLevel">
        <div class="customer" *ngSwitchCase="'ENABLED'">
          This is customer data
        </div>
        <div  *ngSwitchDefault> 
          this is default
        </div>
        <div class="customer-blurr" *ngSwitchCase="'DISABLED'"> 
          This is disabled Customer Data
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

注意:您需要在双引号内添加单引号,以便 Angular 知道它是字符串而不是变量。