【问题标题】:Using extra parameter in ngSwitchCase在 ngSwitchCase 中使用额外的参数
【发布时间】:2019-08-18 10:37:13
【问题描述】:

首先,要强调的是,我已经看过很多页面,例如Two switch case values in angular 但他们无法解决我的问题。

我的Angular项目的html页面有以下方法,我根据i参数切换没有任何问题。另一方面,在组件端有一个名为loading 的参数,我也需要在ngSwitchCase 中使用这个值。但以下代码不起作用并忽略 loading 参数的值。那么,我该如何使用它呢?

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

【问题讨论】:

    标签: javascript angular typescript


    【解决方案1】:

    使用loading 条件在内部创建另一个ng-container

    <ng-container [ngSwitch]="i">
        <ng-container *ngSwitchCase="0">
            <ng-container *ngIf="loading">
                // do stuff
            </ng-container>
        </ng-container>
    </ng-container>
    

    【讨论】:

    • 非常感谢您的帮助,但我已经通过&lt;ng-container *ngIf="loading" *ngSwitchCase="0"&gt; 尝试了类似的方法,并且给出了相同的结果:当 i=0 和 loading!=true 时,不显示此记录。对于这种情况,第一条记录总是丢失 :( 有什么办法修复它吗?另一方面,t 真的很奇怪,在 ngSwitch 中不能使用多个参数。
    • @hexadecimal 你能创建一个有问题的堆栈闪电战吗?
    • 最后我用&lt;ng-container *ngSwitchCase="loading &amp;&amp; i === 0 ? 0 : null"&gt;解决了这个问题。非常感谢您的帮助,投了赞成票;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多