首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Vue动态绑定Class的几种方式

Vue动态绑定Class的几种方式

作者头像
Javanx
发布于 2019-09-04 12:57:35
发布于 2019-09-04 12:57:35
3.4K0
举报
文章被收录于专栏:web秀web秀

对象方法

最简单的绑定 这里的active加不加单引号都可以,以下也一样都能渲染,但是如果你的class需要 - 连接的,必须用引号。

代码语言:javascript
复制
:class="{ active: isActive }"
:class="{ 'c-active': isActive }"

判断是否绑定一个active

代码语言:javascript
复制
:class="{'active':isActive==-1}"  
或者
:class="{'active':isActive==index}"

绑定并判断多个

第一种(用逗号隔开)

代码语言:javascript
复制
:class="{ 'active': isActive, 'sort': isSort }"

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

代码语言:javascript
复制
:class="classObject"
data() {
  return {
    classObject:{ active: true, sort:false }
  }
}

第三种(使用computed属性)

代码语言:javascript
复制
:class="classObject"
data() {
  return {
    isActive: true,
    isSort: false
  }
},
computed: {
  classObject: function () {
    return {
      active: this.isActive,
      sort:this.isSort
    }
  }
}

数组方法

单纯数组

代码语言:javascript
复制
:class="[isActive,isSort]"
data() {
  return{
    isActive:'active',
    isSort:'sort'
 }
}

数组与三元运算符结合判断选择需要的class 注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染

代码语言:javascript
复制
:class="[isActive?'active':'']"
或者
:class="[isActive==1?'active':'']"
或者
:class="[isActive==index?'active':'']"
或者
:class="[isActive==index?'active':'otherActiveClass']"

数组对象结合动态判断 前面这个active在对象里面可以不加单引号,后面这个sort要加单引号

代码语言:javascript
复制
:class="[{ active: isActive }, 'sort']"
或者
:class="[{ active: isActive==1 }, 'sort']"
或者
:class="[{ active: isActive==index }, 'sort']"
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年11月9日,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 对象方法
    • 绑定并判断多个
  • 数组方法
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档