vue动态绑定class类(前端vue动态绑定class的几种方法详解)

一、对象方法
1、最简单的绑定
这里的active加不加单引号都可以,以下也一样都能渲染,但是如果你的class需要 - 连接的,必须用引号。
:class="{ active: isActive }"
:class="{ 'c-active': isActive }"2、判断是否绑定一个active
:class="{'active':isActive==-1}"
或者
:class="{'active':isActive==index}"3、绑定并判断多个
1)第一种(用逗号隔开)
:class="{ 'active': isActive, 'sort': isSort }"2)第二种(放在data里面)
也可以把后面绑定的对象写在一个变量放在data里面,可以变成下面这样
:class="classObject"
data() {
return {
classObject:{ active: true, sort:false }
}
}3)第三种(使用computed属性)
:class="classObject"
data() {
return {
isActive: true,
isSort: false
}
},
computed: {
classObject: function () {
return {
active: this.isActive,
sort:this.isSort
}
}
}二、数组方法
1、单纯数组
:class="[isActive,isSort]"
data() {
return{
isActive:'active',
isSort:'sort'
}
}2、数组与三元运算符结合判断选择需要的class
注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染
:class="[isActive?'active':'']" 或者 :class="[isActive==1?'active':'']" 或者 :class="[isActive==index?'active':'']" 或者 :class="[isActive==index?'active':'otherActiveClass']"
3、数组对象结合动态判断
前面这个active在对象里面可以不加单引号,后面这个sort要加单引号
:class="[{ active: isActive }, 'sort']"
或者
:class="[{ active: isActive==1 }, 'sort']"
或者
:class="[{ active: isActive==index }, 'sort']" 除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址:https://tangjiusheng.cn/vue/944.html
原文地址:https://tangjiusheng.cn/vue/944.html
