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、效果

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...