-2

First of all, want to emphasize that I had already have a look at many pages e.g. Two switch case values in angular but they cannot fix my problem.

I have the following approach in the html page of my Angular project and I switch according to i parameter without any problem. On the other hand, there is a parameter called loading on component side and I also need to use this value in ngSwitchCase. But the following code does not work and ignore loading parameter's value. So, how can I use it?

<ng-container [ngSwitch]="i">
    <ng-container *ngSwitchCase="i === 0 && loading === true">
        <!-- other stuff -->
    </ng-container>
</ng-container>
0

1 Answer 1

0

Create another ng-container inside with the loading condition.

<ng-container [ngSwitch]="i">
    <ng-container *ngSwitchCase="0">
        <ng-container *ngIf="loading">
            // do stuff
        </ng-container>
    </ng-container>
</ng-container>
Sign up to request clarification or add additional context in comments.

3 Comments

Thanks a lot for your help, but I already tried similar approach via <ng-container *ngIf="loading" *ngSwitchCase="0"> and that gives the same result like that : When i=0 and loading!=true, this record is not displayed. For this case, the first record is always missing :( Any idea to fix it? On the other hand, t is really very strange that multiple parameters cannot be used in ngSwitch.
@hexadecimal can you please create a stackblitz with the problem?
Finally I fixed the problem using <ng-container *ngSwitchCase="loading && i === 0 ? 0 : null">. Thanks a lot for your help, voted up ;)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.