AngularJs - При нажатии на нг все предметы будут затронуты - PullRequest
0 голосов
/ 23 июня 2018

Я пытаюсь изменить область, когда я нажимаю на элемент, но когда я делаю это, все элементы меняются

Что я пытаюсь сделать, так это когда я нажимаю на один из элементов div, я хочу, чтобы цвет элемента div изменился на красный. эта часть работает нормально. Затем я также хочу изменить область действия при нажатии на один из элементов div. Здесь происходит то, что все сферы меняются.

<div  class="col-md-3 col-sm-6 mb-3" ng-repeat="student in stuRegister.students"  ng-click="stuRegister.absneceChange($index, absence)">

    <div id="myDIV{{$index}}" class="card text-white bg-success o-hidden h-100" data-index="{{$index}}">
           <div class="card-body">
                  <div class="mr-5" >
                         <p>{{$index + 1}}. <strong>{{student.name}}</strong></p></div>
                    <div class="mr-5" data-ng-model-options="stuRegister.aData.role" ><strong ng-bind="absence">Status: {{absence[0]}}</strong></div>                                
                        </div>
                   <a class="card-footer text-white clearfix small z-1" href="#">
                                    <span class="float-left">Indmeld fravær</span>
                                    <span class="float-right">
                                        <i class="fa fa-angle-right"></i>
                                    </span>
                                </a>
                    </div>


                </div>

Js:

    $scope.absence = "Tilstede";

    this.absneceChange = function(index, absence){
        var element = document.getElementsByClassName("card");

        $scope.absence = $scope.absence === "Tilstede" ? "Fravær" : "Tilstede";
        element[index].classList.toggle("bg-danger");
        element[index].classList.toggle("bg-warning");
    }
...