vue改class_Vue动态修改class

本文介绍了在Vue中如何动态地修改元素的class。包括使用对象方法和数组方法,结合三元运算符进行条件判断,以及在不同情况下绑定单个class或多个class。详细展示了在data、computed属性和直接使用条件表达式等多种场景下的实现方式。
摘要由CSDN通过智能技术生成

#####对象方法

-最简单的绑定(这里的active加不加单引号都可以,以下也一样都能渲染)

:class="{ 'active': isActive }"

1

判断是否绑定一个active

:class="{'active':isActive==-1}"

或者

:class="{'active':isActive==index}"

1

2

3

绑定并判断多个

第一种(用逗号隔开)

:class="{ 'active': isActive, 'sort': isSort }"

第二种(放在data里面)

//也可以把后面绑定的对象写在一个变量放在data里面,可以变成下面这样

:class="classObject"

data() {

return {

classObject:{ active: true, sort:false }

}

}

第三种(使用computed属性)

:class="classObject"

data() {

return {

isActive: true,

isSort: false

}

},

computed: {

classObject: function () {

return {

active: this.isActive,

sort:this.isSort

}

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

#####数组方法

单纯数组

:class="[isActive,isSort]"

data() {

return{

isActive:'active',

isSort:'sort'

}

}

1

2

3

4

5

6

7

数组与三元运算符结合判断选择需要的class

(注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染)

:class="[isActive?'active':'']"

或者

:class="[isActive==1?'active':'']"

或者

:class="[isActive==index?'active':'']"

或者

:class="[isActive==index?'active':'otherActiveClass']"

1

2

3

4

5

6

7

数组对象结合动态判断

//前面这个active在对象里面可以不加单引号,后面这个sort要加单引号

:class="[{ active: isActive }, 'sort']"

或者

:class="[{ active: isActive==1 }, 'sort']"

或者

:class="[{ active: isActive==index }, 'sort']"

————————————————

版权声明:本文为CSDN博主「前端那点事」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_43077894/article/details/83544399

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值