Angular 2 [ngSwitchCase]不能支持负值?

时间:2016-09-12 07:59:20

标签: angular switch-statement

评论<span *ngSwitchCase="-1">&darr;</span>不会返回错误

<span class="pull-left ranking-movement" [ngSwitch]="profile.rankingMovement">
    <span *ngSwitchCase="1">&uarr;</span>
    <span *ngSwitchCase="0">&#9472;</span>
    <span *ngSwitchCase="-1">&darr;</span>
</span>

ngSwitchCase不支持负数吗?

错误如下:

main.js?v1:23062 Unhandled Promise rejection: Template parse errors:
Parser Error: Unexpected token 1, expected identifier, keyword, or string at column 15 in [ngSwitchCase -1] in MainComponent@93:42 ("                   <span *ngSwitchCase="0">&#9472;</span>
                                    <span [ERROR ->]*ngSwitchCase="-1">&darr;</span>
                                </span>
                            "): MainComponent@93:42
Parser Error: Unexpected token 1, expected identifier, keyword, or string at column 15 in [ngSwitchCase -1] in MainComponent@93:42

我正在使用RC.6

2 个答案:

答案 0 :(得分:4)

我不知道为什么不支持此功能,但您可以使用

<span *ngSwitchCase="0 - 1">&darr;</span>

答案 1 :(得分:2)

使用Angular 2.2.0-rc.0(2016-11-02),我遇到了同样的问题。

我个人用它解决了这个问题:

<div *ngSwitchCase="'-1'"></div>

顺便说一句,这种错误可能会引起其他错误,这些错误在混合NgSwich和NgFor时会显得无关(对我来说是表达在检查后发生了变化)。

PS:我想对GünterZöchbauer的回答发表评论,但由于缺乏声誉点,我不能这样做。