我有一个onClick(使用角度.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>
其中"类型"是表行的类型,"类型"是角度控制器。
types.setType(type):
...
this.types[type] = ! this.types[type];
...
虽然这会从第二次单击开始切换值,但它不会更改第一次单击的值。我使用 if-else 语句实现了该功能,但无法弄清楚为什么这不起作用,因为它是一个非常基本的事情。
this.types[type] 设置为 false 作为默认值。
有人可以解释为什么会发生这种情况..
这不起作用并不让我感到惊讶:
ng-click='types.setType('type')
对内引号使用 "
使解析器理解您要执行的操作(或相反):
ng-click='types.setType("type")'
顺便说一下,你不需要函数来执行此操作。只需在控制器中初始化一个布尔值:
$scope.toggle = true
并在您的视图中像这样使用:
ng-click='toggle = !toggle'