vue动态绑定class的几种方式


对象方法

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

:class="{ 'active': isActive }" 
  • 判断是否绑定一个active
: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 } } } 
数组方法
  • 单纯数组
: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']" 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM