angularjs学习笔记--ng-class的三种使用方法

2 篇文章 0 订阅
在使用原生js时,动态的控制样式的思路就是更换class,而在angularjs中ng-class指令使这一操作变得十分简单。

1.通过双向数据绑定

demo1

js:

fonction changeClass () {
    $scope.className = "change";
}

html:
<div ng-class="{{className}}" ></div>

css:
.change {
    color:#f00;
}

这种方式虽然不推荐使用,但是语法上是没有任何问题的,因为在controller中,我们一般写的都是js代码,与控制样式分离开来,而且这样也必然要触发一些改变样式的代码。

例如:某个值为真显示样式1,为假显示样式2,就得在controller里做一些判断,这样做的缺点就是让代码的层次关系不清晰。

2.字符串真假
当某个功能是根据真假显示两种不同的样式,这种方法最方便了。

demo2

js :
function changeClass () {
    $scope.className = true; //或false
}

html :
<div ng-class="{true:'class1',false:'class2'}[className]"></div>

当className为真时使用样式1,为假时使用样式2.
这样子就会清晰很多,也十分好用。但如果有多个样式要切换该怎么办呢。

3.键值对方式
这种方式就是对于一个div要更换不同的样式,一般多于两个以上。

demo3

js :
function changeClass () {
    $scope.redClass = "red";
    $scope.yellowClass = "yellow";
    $scope.greenClass = "green";
}

html:
<div ng-class="{'red:redClass,'yellow':yellowClass,'green':greenClass}"></div>

css:
.red{...}
.yellow{...}
.green{...}

第三种方法要注意一点就是,如果多个样式都为true,优先级根据写入顺序,展示排在最后的样式。dome3中如果redClass,yellowClass,greenClass都为真,则优先显示green的样式,以此类推。

以上三种方法都可以实现动态样式,根据个人习惯选择即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值