Добавление и удаление класса в div при изменении флажка в AngularJs [duplicate]

0

Я показываю некоторые данные, используя ng-repeat на моей странице HTML.

<div class="list-expense-menu-item" ng-repeat="todo in todos">
  <md-checkbox aria-label="Checkbox" ng-model="ch" ng-change="changeClass(ch)" >   </md-checkbox>
  <div class="col-80">
    <p class="header">{{todo.note}}</p>
  </div>
 </div> 

Я хочу добавить class во второй div (т.е. div с классом col-80), когда установлен флажок, и удалить class при снятии флажка

Controller.js

$scope.ch=false;
    $scope.changeClass=function(val){
       alert(val);
       if(val){
         //add class text-strick
        }else{
          //remove class text-strick
        }
      }

Я получу истинные и ложные значения в alert, но я не знаю, как добавлять и удалять класс при изменении флажка

1 ответ

1
Лучший ответ

Вам нужно будет связать флажок с объектом todos, который повторяется в ng-repeat. Из вашего вопроса я понимаю, что вы хотите выделить div рядом с флажком, так как будет несколько пар флажка и div, что-то вроде этого будет работать:

<div class="list-expense-menu-item" ng-repeat="todo in todos">
    <md-checkbox aria-label="Checkbox" ng-model="todo.ch"></md-checkbox>
   <div class="col-80" ng-class="{'className':todo.ch}">
     <p class="header">{{todo.note}}</p>
   </div>
</div>
  • 0
    Для todo.ch == true нет необходимости, сам todo.ch будет логическим значением.
  • 0
    Согласен, но основной смысл моего ответа состоял в том, чтобы прояснить синтаксис для выражения ng-class, хотя ваша точка зрения определенно верна

Ещё вопросы

Сообщество Overcoder
Наверх
Меню