首页 > 代码库 > angular学习之关于ng-class详解

angular学习之关于ng-class详解

 1,定义和用法

ng-class 指令用于给 HTML 元素动态绑定一个或多个 CSS 类。

ng-class 指令的值可以是字符串,对象,或一个数组。

如果是字符串,多个类名使用空格分隔。

如果是对象,需要使用 key-value 对,key 为你想要添加的类名,value 是一个布尔值。只有在 value 为 true 时类才会被添加。

如果是数组,可以由字符串或对象组合组成,数组的元素可以是字符串或对象。

2.主要用法有三种

第一种双向数据绑定格式的不推荐所以就不列举了

第二种:通过字符串数组的形式来改变(这种是元素只拥有两种状态)

<style>
.red{
background: red;
}
.green{
background: green;
}
</style>
</head>
<body ng-app="myApp" ng-controller="Aaa">
<div ng-class="{true:‘red‘,false:‘green‘}[flag]">我会变颜色</div>
<button type="button" ng-click="flag=!flag">点我</button>
</body>
第三种:通过key/value的方式(这种元素可以有多种状态)
<style>
.red{
background: red;
}
.green{
background: green;
}
</style>
<script>
var m1=angular.module("myApp",[]);
m1.controller("Aaa",function($scope){
$scope.ws=true;
});
</script>
</head>
<body ng-app="myApp" ng-controller="Aaa">
<div ng-class="{‘red‘:ws,‘green‘:dq}">ewsdfasdfasdf</div>
</body>

 2.其他用法

  1.与ng-repeat一起使用:

<style>
.red{
background: red;
}
.green{
background: green;
}
</style>
<script>
var m1=angular.module(‘myApp‘,[]);
m1.controller(‘Aaa‘,function($scope){
$scope.names=["ws","dq","cy"];
});
</script>
</head>
<body ng-app="myApp">
<ul ng-controller="Aaa">
<li ng-repeat="name in names" ng-class="{red:$even,green:$odd}">{{name}}</li>
</ul>
</body>
3.ng-style的使用
<div ng-style ="{color:‘red‘}"></div>

angular学习之关于ng-class详解