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
}
即可通过条件来动态的切换样式。