Angular ng-class样式切换

前端之家收集整理的这篇文章主要介绍了Angular 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、效果

猜你在找的Angularjs相关文章