NgSwitch - 表现出乎意料,`No provider for NgSwitch` - 异常获取

3gw*_*ain 4 angular-directive angular angular8

这是我的 html:

<ng-container *ngIf="col.data !== ''">
    <ng-template [ngSwitch]="col.data">
        <ng-container *ngSwitchCase="'Page'">
            <div>{{getData(data, col.data, col.dataName)}}</div>
        </ng-container>
        <ng-container *ngSwitchDefault>
            {{getData(data, col.data, col.dataName)}}
        </ng-container>
    </ng-template>
</ng-container>
Run Code Online (Sandbox Code Playgroud)

当我使用上面的方法实现 switchCase 时,得到如下错误:

No provider for NgSwitch ("<ng-template [ngSwitch]="col.data"> [ERROR ->]<ng-container *ngSwitchCase="'Page'">

像上面一样。在我使用 ngswich 之前,它运行良好。我也已经导入了通用模块..

有人帮我解决这个问题吗?

Tom*_*ula 6

您不能使用[ngSwitch]on <ng-template>。您可以在 HTML 元素上使用它,或者<ng-container>.