vue动态绑定:class用法

47 篇文章 0 订阅
46 篇文章 0 订阅

动态绑定class

定义:

通过一个布尔值变量,确定是否添加class
动态绑定class,可以绑定数组,可以绑定对象

第一种:

class="{'active':isActive}"
<template>
  <div class="page">
   <div @click="get" class="max">
     <div class="box"  :class="{'hide':show}">
      111
    </div>
   </div>
  </div>
</template>
<script>
export default {
  data () {
    return {
      show: false
    }
  },
  methods: {
    get () {
      if(!this.show){
        this.show = true
      }else{
        this.show = false
      }
    }
  }
}
</script>
<style lang="scss" scoped>
.max{
  width: 100px;
  height: 100px;
  border: 1px solid red;
}
.box {
  width: 25px;
  height: 25px;
  background: skyblue;
  display: inline-block;
}
.hide {
  opacity: 0;
}
</style>

第二种:

:class="{'active':isActive==index}"
<template>
  <div class="page">
    <div  class="max">
      <div class="box" v-for="(item,index) in 3" @click="get(index)" :class="{'hide':show == index}">
        111
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data () {
    return {
      show: 0
    }
  },
  methods: {
    get (index) {
     this.show = index
    }
  }
}
</script>
<style lang="scss" scoped>
.max {
  width: 100px;
  height: 100px;
  border: 1px solid red;
}
.box {
  width: 25px;
  height: 25px;
  background: skyblue;
  display: inline-block;
}
.hide {
  border-bottom: 1px solid rgb(26, 25, 25);
}
</style>

第三种:

:class="[isActive?'active':'']"
<template>
  <div class="page">
    <div class="max" @click="get">
      点击我显示隐藏
      <div class="box" :class="[isActive? 'hide': '' ]">
        111
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data () {
    return {
      isActive: false
    }
  },
  methods: {
    get () {
      if(!this.isActive){
        this.isActive = true
      }else{
        this.isActive = false
      }
    }
  }
}
</script>
<style lang="scss" scoped>
.max {
  width: 100px;
  height: 100px;
  border: 1px solid red;
}
.box {
  width: 25px;
  height: 25px;
  background: skyblue;
  display: inline-block;
}
.hide {
  border: 3px solid rgb(48, 16, 165);
}
</style>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值