recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Comment utiliser angulairejs pour cliquer sur li pour ajouter une classe et cliquer à nouveau sur supprimer la classe sans s'affecter.

<!DOCTYPE html>
<html ng-app="myapp">
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="angular.min.js"></script>
    <script>
    var m1 = angular.module('myapp',[]);
        m1.controller('Aaa',function($scope){
            $scope.colors = [{
                'id':'1',
                'name':'red'
            },{
                'id':'2',
                'name':'green'
            },{
                'id':'3',
                'name':'blue'
            }];
        });
    </script>
</head>
<body>
    <p ng-controller="Aaa">
        <ul>
            <li ng-repeat="color in colors">{{color.name}}</li>
        </ul>
    </p>
</body>
</html>

Dois-je utiliser l'identifiant pour le faire correspondre ?

世界只因有你世界只因有你2811 Il y a quelques jours2574

répondre à tous(3)je répondrai

  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:54:53

    Il n’est pas nécessaire que ce soit aussi compliqué que celui ci-dessus.

    <ul>
        <li ng-class="{red : color.active}" ng-click="color.active = !color.active" ng-repeat="color in Texture">{{color.value}}</li>
    </ul>
    

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-15 16:54:53

    Le sujet doit utiliser la directive Angular pour répondre à cette exigence.
    Résultat : http://output.jsbin.com/rolobakaya

    javascriptm1.directive('toggleClass', function(){
        return {
            restrict: 'A',
            scope: {
                toggleClass: '@'
            },
            link: function($scope, $element){
                $element.on('click', function(){
                    $element.toggleClass($scope.toggleClass);
                });
            }
        };
    });
    
    html<li toggle-class="classname"></li>
    

    répondre
    0
  • 高洛峰

    高洛峰2017-05-15 16:54:53

    Mon idée est :

    <li ng-class="{active: currentId == color.id}" ng-repeat="color in colors">{{color.name}}</li>
    

    Puis définissez un ng-click et modifiez $scope.currentId

    dedans

    répondre
    0
  • Annulerrépondre