{}判断绑定
<div v-bind:class="{ active: isActive }"></div>
class=active
这个属性是否存在取决于变量isActive
是否为真.
data: {
isActive: true,
hasError: false
}
<div
class="static"
v-bind:class="{ active: isActive, 'text-danger': hasError }"
></div>
这里只存在了static
和active
,既结果为<div class="static active"></div>
,因为text-danger
的后面的变量为False
方法属性绑定
当然也可以绑定方法属性
data: {
isActive: true,
error: null
},
computed: {
classObject: function () {
return {
active: this.isActive && !this.error,
'text-danger': this.error && this.error.type === 'fatal'
}
}
}
<div v-bind:class="classObject"></div>
数组语法
我们可以传递数组进行绑定
data: {
activeClass: 'active',
errorClass: 'text-danger'
}
<div v-bind:class="[activeClass, errorClass]"></div>
结果为:
<div class="active text-danger"></div>
数组里也可以将三元表达式做为元素:
<div v-bind:class="[isActive ? activeClass : '', errorClass]"></div>
给样式进行绑定
data: {
activeColor: 'red',
fontSize: 30
}
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
vue更推荐下面的方法:
data: {
styleObject: {
color: 'red',
fontSize: '13px'
}
}
<div v-bind:style="styleObject"></div>