vue动态绑定class的几种方式

vue动态绑定class的几种方式#####对象方法-最简单的绑定(这里的active加不加单引号都可以,以下也一样都能渲染):class="{'active':isActive}"判断是否绑定一个active:class="{'active':isActive==-1}"或者:class="{'active':isActive==index}"绑定并判断多个第一种(用

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

:class="{ 'active': isActive }"
只听到从架构师办公室传来架构君的声音:
寒夜客来茶当酒,竹炉汤沸火初红。有谁来对上联或下联?
  • 判断是否绑定一个active
此代码由Java架构师必看网-架构君整理
:class="{'active':isActive==-1}" 或者 :class="{'active':isActive==index}"
  • 绑定并判断多个
第一种(用逗号隔开)
: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
    }
  }
}

#####数组方法

  • 单纯数组
此代码由Java架构师必看网-架构君整理
:class="[isActive,isSort]" data() { return{ isActive:'active', isSort:'sort' } }
  • 数组与三元运算符结合判断选择需要的class
    (注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染)
:class="[isActive?'active':'']"
或者
:class="[isActive==1?'active':'']"
或者
:class="[isActive==index?'active':'']"
或者
:class="[isActive==index?'active':'otherActiveClass']"
  • 数组对象结合动态判断
//前面这个active在对象里面可以不加单引号,后面这个sort要加单引号
:class="[{ active: isActive }, 'sort']"
或者
:class="[{ active: isActive==1 }, 'sort']"
或者
:class="[{ active: isActive==index }, 'sort']"
本文来源前端那点事,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/209589
0
   

发表评论