Vue中Class与Style如何动态绑定

Class 可以通过对象语法和数组语法进行动态绑定:

  • 对象语法:
<div v-bind:class="{ active: isActive, 'text-danger': hasError }"></div>

data: {
  isActive: true,
  hasError: false
}
  • 数组语法:
<div v-bind:class="[isActive ? activeClass : '', errorClass]"></div>

data: {
  activeClass: 'active',
  errorClass: 'text-danger'
}

Style 也可以通过对象语法和数组语法进行动态绑定:

  • 对象语法:
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>

data: {
  activeColor: 'red',
  fontSize: 30
}
  • 数组语法:
<div v-bind:style="[styleColor, styleSize]"></div>

data: {
  styleColor: {
     color: 'red'
   },
  styleSize:{
     fontSize:'23px'
  }
}
  • 定义变量法:

通过判断一个条件去改变样式在项目中会经常遇到,此时我们可以适应给想要绑定的class定义一个变量进行动态切换class。

<div class=“className”  :class={newclass : variable }>

我们可以将这个variable 在我们的data里面设置成false(默认不显示)

data () {

variable :false

}

之后给newclass 编写我们想要动态变动的样式

.className{

color: red;

}

.newclass {

color: black

}

现在是因为newclass 是定义的变量为Flase所以样式为className定义的内容

在我们js内容部分:

if(条件){

this.variable =true

}

即可通过条件来动态的切换样式。

原文地址:https://www.cnblogs.com/taxpolat/p/11383214.html