AngularJS ng-class样式切换

1、HTML

<ion-view>
    <ion-content>
        <div class="button-bar">
            <div ng-class="{true: 'bgstyle-check', false: 'bgstyle'}[isFirst]" ng-click="isFirst = !isFirst">First</div>
            <div ng-class="{true: 'bgstyle-check', false: 'bgstyle'}[isSecond]" ng-click="isSecond = !isSecond">Second</div>
            <div ng-class="{true: 'bgstyle-check', false: 'bgstyle'}[isThird]" ng-click="isThird = !isThird">Third</div>
        </div>
        <br><br>
        <div class="button-bar">
            <div ng-class="{true: 'bgstyle-check', false: 'bgstyle'}[hasAll]" ng-click="toggleAll()">All</div>
            <div ng-class="{true: 'bgstyle-check', false: 'bgstyle'}[hasFirst]" ng-click="toggleFirst()">First</div>
            <div ng-class="{true: 'bgstyle-check', false: 'bgstyle'}[hasSecond]" ng-click="toggleSecond()">Second</div>
            <div ng-class="{true: 'bgstyle-check', false: 'bgstyle'}[hasThird]" ng-click="toggleThird()">Third</div>
        </div>
    </ion-content>
</ion-view>
<style>
    .bgstyle {background-color: #8f8f8f;width: 100%;height: 20px;margin: 2px 0 2px 0;text-align: center;}
    .bgstyle-check {background-color: #ff3b30;width: 100%;height: 20px;margin: 2px 0 2px 0;text-align: center;}
</style>

2、controller

appControllers.controller('TestlCtrl', function ($scope, $state) {
    $scope.isFirst = false;
    $scope.isSecond = false;
    $scope.isThird = false;


    $scope.hasAll = false;
    $scope.hasFirst = false;
    $scope.hasSecond = false;
    $scope.hasThird = false;

    $scope.toggleAll = function () {
        $scope.hasAll = !$scope.hasAll;
        console.log($scope.hasAll);
        var dynamicValue = $scope.hasAll;
        $scope.hasFirst = dynamicValue;
        $scope.hasSecond = dynamicValue;
        $scope.hasThird = dynamicValue;
    }

    $scope.toggleFirst = function () {
        $scope.hasFirst = !$scope.hasFirst;
        checkAll();
    }

    $scope.toggleSecond = function () {
        $scope.hasSecond = !$scope.hasSecond;
        checkAll();
    }

    $scope.toggleThird = function () {
        $scope.hasThird = !$scope.hasThird;
        checkAll();
    }

    function checkAll() {
        if ($scope.hasFirst == true && $scope.hasSecond == true && $scope.hasThird == true) {
            console.log("123ok");
            $scope.hasAll = true;
        } else {
            console.log("123no");
            $scope.hasAll = false;
        }

    }
})
3、效果图

4、循环列表,判断索引添加样式

<div class="category-tab ">
    <ul>
        <li ng-repeat="item in rootList" ng-class="{true: 'cur', false: ''}[$index+1===1]">
            <a href="">{{item.CategoryName}}</a>
        </li>
        <li><a href="">热门推荐</a></li>
        <li><a href="">热门推荐</a> </li>
    </ul>
</div>

*、

<ion-item class="item-divider">
    <i ng-class="{true: 'icon ion-tips mr10', false: 'iconfont icon-shangdian text-orange mr10'}[item.VendorId==0]">
        <element ng-show="item.VendorId==0">合作</element></i>{{item.VendorName}}
</ion-item>



扫描二维码关注公众号,回复: 182588 查看本文章

猜你喜欢

转载自blog.csdn.net/kingcruel/article/details/64571125
今日推荐