0

クリックでテーブル行の色を切り替える必要がある onClick (angular.js ng-click を使用) があります。

これは初期実装です。

   <tr>
        <td ng-class="{'setType': types.isTypeSet('TYPE') == true}" ng-click="types.setType('TYPE')">

            <img class="typebox-img" src="">
            <div class="typebox">TYPE</div>

        </td>
    </tr>

ここで、「type」はテーブル行のタイプで、「types」は角度コントローラーです。

types.setType(タイプ):

 ...
 this.types[type] = ! this.types[type];
 ...

これは2回目のクリックで値を切り替えますが、最初のクリックでは値を変更しません。if-else ステートメントを使用して機能を実装しましたが、非常に基本的なことであるため、なぜこれが機能しないのかわかりません。

this.types[type] はデフォルトで false に設定されています。

誰かがなぜこれが起こっているのか説明できますか..

4

1 に答える 1

2

これが機能しないことは驚くことではありません。

ng-click='types.setType('type')

内側の引用符に使用"して、パーサーに何をしようとしているのかを理解させます (またはその逆):

ng-click='types.setType("type")'

ちなみに、これを行うための関数は必要ありません。コントローラーでブール値を初期化するだけです:

$scope.toggle = true

ビューで次のように使用します。

ng-click='toggle = !toggle'
于 2014-12-25T10:32:20.993 に答える