Переключиться с! оператор не работает при загрузке страницы JavaScript
У меня есть 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>
где "тип" - это тип строки таблицы, а "типы" - угловой контроллер.
types.setType(тип):
...
this.types[type] = ! this.types[type];
...
хотя это переключает значения со второго щелчка, оно не меняет значение при первом щелчке. Я реализовал эту функциональность с помощью оператора if-else, но не могу понять, почему это не сработает, поскольку это довольно простая вещь.
this.types [тип] по умолчанию имеет значение false.
Может кто-нибудь объяснить, почему это происходит..
1 ответ
Меня не удивляет, что это не работает:
ng-click='types.setType('type')
использование "
для внутренних кавычек, чтобы синтаксический анализатор понимал, что вы пытаетесь сделать (или наоборот):
ng-click='types.setType("type")'
Кстати, вам не нужна функция для этого. Просто инициализируйте в вашем контроллере bool:
$scope.toggle = true
И используйте по вашему мнению, как это:
ng-click='toggle = !toggle'