1

に単純な ng-repeat があり<td>ます。ng-repeat 内は ng-switch ディレクティブです。<td>特定の ng-switch 条件が満たされたときに CSS クラスを適用する方法を知りたいです。

<td ng-repeat="deposit in MyData.MyDeposits.slice(0, 12)" ng-switch="deposit" ng-class="darkGrey: darkenCell == 1">
    <span ng-switch-when="0">U</span>
    <span ng-switch-when="1">D</span>
    <span ng-switch-when="2">2</span>
    <span ng-switch-when="3">3</span>
    <span ng-switch-when="4">3</span>
    <span ng-switch-default ng-init="darkenCell = 1" >Dark</span>
</td>

ただし、次のエラーが表示されます。

Error: [$parse:syntax] http://errors.angularjs.org/1.2.8/$parse/syntax?p0=%3A&p1=is%20an%20unexpected%20token&p2=6&p3=darkGrey%3A%20darkenCell%20%3D%3D%201&p4=%3A%20darkenCell%20%3D%3D%201
4

1 に答える 1

3

最初に初期化されてから使用されるように、ng-init を一番上に配置する必要があります。また、スイッチには独自のスコープがあることを忘れないでください。そのため、$parent を使用して親にアクセスします。

<td ng-init="darkenCell = 0" ng-repeat="deposit in MyData.MyDeposits.slice(0, 12)" ng-switch="deposit" ng-class="{darkGrey: darkenCell == 1}">
    <span ng-switch-when="0">U</span>
    <span ng-switch-when="1">D</span>
    <span ng-switch-when="2">2</span>
    <span ng-switch-when="3">3</span>
    <span ng-switch-when="4">3</span>
    <span ng-switch-default ng-show="$parent.darkenCell = 1">Dark</span>
</td>

プランクの例

于 2014-08-20T10:53:28.310 に答える