AngularJS基础教程

ng-class、ng-style

前言

本章节讲解了在 AngularJSng-classng-style 的使用。

ng-class

ng-class 是用来设置 class 属性的:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ng-class</title>
<style type="text/css">
.c0{background-color:black;color:white;}
.c1{background-color:red;}
</style>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="">
<div ng-class="{c1:true}">Hello AngularJS</div>
</div>
</body>
</html>

在浏览器中查看:

从运行结果可看出,加了 ng-class="{c1:true}" 指令的 DIV 使用了样式 .c1

其中,c1 为样式的名字,后面的 true 表示要使用这个样式。如果为 false 当然就是不使用了。

将代码修改一下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ng-class</title>
<style type="text/css">
.c0{background-color:black;color:white;}
.c1{background-color:red;}
</style>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="">
<div ng-class="{c0:true, c1:true}">Hello AngularJS</div>
</div>
</body>
</html>

在浏览器中查看:

我们会发现即使用了 .c0 样式,也使用了 .c1 样式。相当于是给该 DIV 设置了这样的属性:class="c0 c1"

当然也可以在控制器中去控制它:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ng-class</title>
<style type="text/css">
.c0{background-color:black;color:white;}
.c1{background-color:red;}
</style>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myController">
<div ng-class="{c0:useC0}">Hello AngularJS</div>
</div>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('myController', function ($scope) {
$scope.useC0 = true;
});
</script>
</body>
</html>

在浏览器中查看:

也可以这样写:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ng-class</title>
<style type="text/css">
.c0{background-color:black;color:white;}
.c1{background-color:red;}
</style>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myController">
<div ng-class="{{divClass}}">Hello AngularJS</div>
</div>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('myController', function ($scope) {
$scope.divClass = '{c0:true}';
});
</script>
</body>
</html>

其运行结果和上一个示例是相同的。

ng-style

ng-style 是用来设置 style属性的,其使用方法与 ng-class 是相似的。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ng-style</title>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="">
<div ng-style="{backgroundColor:'black', color:'white'}">Hello AngularJS</div>
</div>
</body>
</html>

在浏览器中查看:

ng-style="{backgroundColor:'black', color:'white'}" 的意思是:将该元素的背景设为黑色,字体设为白色。

注意这里 backgroundColor 的写法,这里也可以写成 'background-color'。注意:它是用引号包起来的。

当然也可以在控制器中控制:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ng-style</title>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myController">
<div ng-style="{backgroundColor:'black', color:fontColor}">Hello AngularJS</div>
</div>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('myController', function ($scope) {
$scope.fontColor = 'white';
});
</script>
</body>
</html>

在浏览器中查看:

还可以这样写:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ng-style</title>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myController">
<div ng-style="{{divStyle}}">Hello AngularJS</div>
</div>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('myController', function ($scope) {
$scope.divStyle = '{backgroundColor:"black", color:"white"}';
});
</script>
</body>
</html>

最后,来个广告

若你觉得此文不错,请分享,若认为尚需改进,请点讚。

结束语