suchen

Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - angular 如何用指令给给列表动态进行class切换

代码

想要的效果是,给当前点击的那个添加样式,其他的清空。

天蓬老师天蓬老师2744 Tage vor484

Antworte allen(2)Ich werde antworten

  • 某草草

    某草草2017-05-15 17:04:38

    不要这么麻烦了,咱们直接用ng-class吧,像这样:

    修正:

    好吧,我错了

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body ng-app="myApp" ng-controller="myCtrl">
        <ul>
            <li ng-repeat="x in ulList" ng-class="{active: currentIndex === $index}" ng-click="handleActive($index)">{{ x.li }}</li>
        </ul>
        <script type="text/javascript">
            var app = angular.module('myApp', []);
            app.controller('myCtrl', ['$scope', function($scope){
                $scope.handleActive = function(index){
                  $scope.currentIndex = index;
                };
                
                $scope.ulList = [
                    {
                        id: '1',
                        li: '01'
                    },{
                        id: '2',
                        li: '02'
                    },{
                        id: '3',
                        li: '03'
                    },{
                        id: '4',
                        li: '04'
                    }
                ];
            }]);
        </script>
    </body>
    </html>

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:04:38

    用属性绑定的方式
    给 ulList 里的每个元素加个 isSelected 属性,当 Click 时更改 isSelected 的值
    HTML 中用 ng-class

    Antwort
    0
  • StornierenAntwort