动态应用 CSS 类:ngClass

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

ngClass 这个指令可以让我们在 HTML 的元素上面动态的应用一些 css 类。先打开 app.js ,在 ShowController 这个控制器里面,shows 这个数组里的对象,我又添加了一个 subscribe 属性,它的值表示的是当前用户是否订阅了这部电视剧,我们可以根据这个属性的值,去在电视剧标题列表的上面添加一个 css 类 ..

先在 app 的目录下面,再新建一个目录 ... 命名为 css ... 在这个目录下面,添加一个样式表,叫做 style.css ... 在这个样式表里,定义一个 css 类 ... 叫做 .subscribe ... 它的样式就是把文字的颜色设置成绿色 ..

.subscribe {
color: green;
}

回到 index.html ,先把 style.css 链接过来 ... 然后在这个列表标签上面,添加一个 ng-class 属性 ... 也就是使用 angular 的 ngClass 这个指令 ... 它的值可以是一个字符串,数组或者是一个对象,如果是对象的话,对象的 key 就是 class 的名字,对应的值决定了是否要添加这个 class,也就是如果值是 true,就去添加 class ,如果是 false 就去掉这个 class 。

这里我们要使用的 class 的名字是 subscribe ,也就是在 style.css 里面定义的那个 css 类。它的值设置成 show.subscribe ... 它表示的就是在 ShowController 这个控制器里,shows 数组的项目的 subscribe 这个属性的值 ...

<div ng-controller="ShowController">
<ul>
<li ng-repeat="show in shows" ng-class="{subscribe: show.subscribe}">
{{ show.title }}
</li>
</ul>
</div>

保存 ... 在浏览器上你会发现,有些列表项目里的文字会变成绿色,这是因为这个列表项目的 subscribe 这个属性的值是 true,这样也就会在这个列表上面应用一个叫 subscribe 的 css 类 ... 这个类里定义的样式就是让文字变成绿色 ...

右键点击,审查元素 ... 你会看到,这个项目上面的 class 属性里面,会有一个 subscribe 类 ...

再回到 index.html ... 我们在每个项目上面添加一个复选框的表单元素 .. 然后在上面绑定一个数据 ... 用一个 ng-model ... 值设置成 show.subscribe ... 保存 ... 现在每个列表的上面都会显示一个复选框。项目的 subscribe 的值如果是 true 的值,这个复选框就是被勾选的状态 ...

下面,我们先取消一个被勾选的复选框 ... 你会看到,文字会立即变成原来的黑色 .. 因为这样会把当前这个项目的 subscribe 这个属性的值设置成 false ... 也就会去掉添加到这个项目上的 subscribe 类 ... 如果再重新勾选一下的话 ... 又会把这个 css 类添加到这个项目的上面 ...

https://docs.angularjs.org/api/ng/directive/ngClass

动态应用 CSS 类:ngClass《 AngularJS 基础 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点