class、style的綁定
1.在 v-bind 用於 class 和 style 時, Vue.js 專門增強了它。表達式的結果類型除了字符串之外,還可以是對象或數組
2.綁定css
2.1對象綁定
2.1.1綁對象格式參數
dom
div class="static"
v-bind:class="{ active: isActive, 'text-danger': hasError }">
</div>
vue
data: {
isActive: true,
hasError: false
}
2.1.2直接綁對象
dom
<div v-bind:class="classObject"></div>
vue
data: {
classObject: {
active: true,
'text-danger': false
}
}
2.1.3返回對象的計算屬性
dom
div v-bind:class="classObject"></div>
vue
data: {
isActive: true,
error: null
},
computed: {
classObject: function () {
return {
active: this.isActive && !this.error,
'text-danger': this.error && this.error.type === 'fatal',
}
}
}
2.1.綁定數組
dom
<div v-bind:class="[activeClass, errorClass]">
vue:
data: {
activeClass: 'active',
errorClass: 'text-danger'
}
2.2綁定三元表達式
<div v-bind:class="[isActive ? activeClass : '', errorClass]">
2.3綁定數組對象
<div v-bind:class="[{ active: isActive }, errorClass]">
3.綁定style
3.1對象形式綁定
dom
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
vue
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
3.2對象綁定
dom
<div v-bind:style="styleObject"></div>
vue
data: {
styleObject: {
color: 'red',
fontSize: '13px'
}
}