Angularjs中的ng-class

在angular中为我们提供了3种方案处理class:
1:scope变量绑定。(不推荐使用)
2:字符串数组形式。
3:对象key/value处理。

我们继续其他两种解决方案:
1字符串数组形式是针对class简单变化,具有排斥性的变化,true是什么class,false是什么class,其形如:

<!DOCTYPE html>
<html lang="en" ng-app="">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    .active{background: green}
    .active{background: red}
    </style>
</head>
<body>
    <div ng-controller="Aaa">
        <div ng-class="{ true: ‘active‘, false: ‘inactive‘}[isActive]">
            11111
        </div>
    </div>
    <script type="text/javascript" src="angular.min.js"></script>
    <script type="text/javascript">
    function Aaa($scope){
        $scope.isActive=true;
    }
    </script>
</body>
</html>

其结果是2中组合,isActive表达式为true,则 active,负责inactive。

扩展:

<!DOCTYPE html>
<html lang="en" ng-app="">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    .active{background: green}
    .inactive{background: red}
    </style>
</head>
<body>
    <div ng-controller="Aaa">
        <div ng-class="{ true: ‘active‘, false: ‘inactive‘}[isActive]" ng-click="change()">
            11111
        </div>
    </div>
    <script type="text/javascript" src="angular.min.js"></script>
    <script type="text/javascript">
    function Aaa($scope){
        $scope.isActive=true;
        $scope.change=function(){
            $scope.isActive=!$scope.isActive
        }
    }
    </script>
</body>
</html>

这种方法做到了class之间简单的切换

2对象key/value处理主要针对复杂的class混合,其形如:

<!DOCTYPE html>
<html lang="en" ng-app="">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    .selected{background: green}
    .car{border:1px solid red}
    </style>
</head>
<body>
    <div ng-controller="Aaa">
        <div ng-class="{‘selected‘ : isSelected, ‘car‘ : isCar}">
            11111
        </div>
    </div>
    <script type="text/javascript" src="angular.min.js"></script>
    <script type="text/javascript">
    function Aaa($scope){
        $scope.isSelected=true;
        $scope.isCar=true;
    }
    </script>
</body>
</html>

当 isSelected = true 则增加selected class,
当isCar=true,则增加car class,

时间: 2024-09-14 05:25:43

Angularjs中的ng-class的相关文章

angular 中怎么获取路径上的参数 参考:https://docs.angularjs.org/api/ng/service/$location

参考: https://docs.angularjs.org/api/ng/service/$location 原文地址:https://www.cnblogs.com/lshan/p/8855042.html

通过几段代码,理清angularJS中的$injector、$rootScope和$scope的概念和关联关系

$injector.$rootScope和$scope是angularJS框架中比较重要的东西,理清它们之间的关系,对我们后续学习和理解angularJS框架都非常有用. 1.$injector其实是一个IOC容器,包含了很多服务(类似于spring框架中的bean),其它代码能够通过       $injector.get("serviceName")的方式,从injector中获取所需要的服务.详情参考这篇文章 2.scope是angularJS中的作用域(其实就是存储数据的地方)

AngularJS 中 异步请求$http 对象的使用

 AngularJS 提供了一个类似jquery的$.ajax的对象,用于异步请求. 在AngularJS中对异步操作是推崇至极的,所以$http的操作都是异步的不像jquery.ajax里还提供了async参数. 对于官网的$http对象的总结和使用. 用法: $http(config); 参数: config (常用的参数标红,翻译了一下) config object Object describing the request to be made and how it should b

AngularJS中的模块(module)

AngularJS中的module 大部分应用都有一个主方法(main)来实例化.组织.启动应用.AngularJS中没有主方法,而是使用模块来声明应用该如何启动.模块允许通过声明的方式来描述应用中的依赖关系,以及如何组装和启动. 一个模块可以引入另一个模块.在一个模块中定义多个服务,当引入这个模块时,就可以使用这个模块中的一个或者多个服务. AngularJS本身的一个默认模块叫ng,ng模块提供了$scope,$http等服务.服务只是模块提供的多种机制中的一种,其它的还有指令(direct

Angularjs中的$filter

官方文档:https://docs.angularjs.org/api/ng/filter/filter 1.Angularjs本身自带了一些filter currency: 为数字添加货币符号. {{currency_expression || currency: symbol:fractionSize}} 其中symbol.fractionSize是可选择的,symbol是定义货币符号,默认是$,fractionSize是小数点后的位数,默认是原数 date:格式化日期 {{date_exp

转: 理解AngularJS中的依赖注入

理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS依赖注入系统是如何运行的. Provider服务($provide) $provide服务负责告诉Angular如何创造一个新的可注入的东西:即服务(service).服务会被叫做provider的东西来定 义,你可以使用$provide来创建一个provider.你需要使用$provide中的provider方法来定义一个provi

AngularJS中的$watch(),$digest()和$apply()

AngularJS $scope里面的$watch(),$digest()和$apply()是AngularJS的核心函数,学习AngularJS必须理解这几个函数. 在绑定$scope中的变量到view的时候,AngularJS自动在内部创建一个"Watch"."Watch"用于监听AngularJS scope中变量的改变.可以通过调用$scope.$watch()这个方法来创建"Watch". $scope.$digest()函数会循环访问

深入学习AngularJS中数据的双向绑定机制

来自:http://www.jb51.net/article/80454.htm Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作. AngularJS很小,只有60K,兼容主流浏览器,与 jQuery 配合良好.双向数据绑定可能是AngularJS最酷最实用的特性,将MVC的原理展现地淋漓尽致. AngularJS的工作原理是:HTML模板将会被浏览器解析到DOM中,

angularJS中$apply()方法详解

这篇文章主要介绍了angularJS中$apply()方法详解,需要的朋友可以参考下 对于一个在前端属于纯新手的我来说,Javascript都还是一知半解,要想直接上手angular JS,遇到的阻力还真是不少.不过我相信,只要下功夫,即使是反人类的设计也不是什么大的问题. Okay,废话不多说.为了弄明白angular JS为何物,我先是从Scope开始.那么什么是Scope呢?借用官方文档的一段话: 代码如下: "scope is an object that refers to the a

angularJs中筛选功能-angular.filter-1

技术分享:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/angular-filter-learn-1/ 以下介绍为自己在使用angular-filter时,简单总结的用法. 开始 1.你可以使用4中不同的方法来安装angular-filter: 克隆或创建这个存储库 通过bower:通过在你的终端执行:$ bower install angular-filter 通过npm:通过在你的终端执行:$ npm install an