我们可以传给 v-bind:class 一个对象,以动态地切换 class。注意 v-bind:class 指令可以与普通的 class 特性共存:
<div v-bind:class="{ 'class-a': isA, 'class-b': isB }"></div> data: { isA: true, isB: false}
渲染结果:
<div></div>
你也可以直接绑定数据里的一个对象,结果与上面的一致:
<div v-bind:class="classObject"></div> data: { classObject: { 'class-a': true, 'class-b': false } }
绑定内联样式
v-bind:style的对象语法十分直观——看着非常像 CSS,其实它是一个 JavaScript 对象。CSS 属性名可以用驼峰式(camelCase)或短横分隔命名(kebab-case):
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div> data: { activeColor: 'red', fontSize: 30 }
直接绑定到对象上(让模板更清晰)
<div v-bind:style="styleObject"></div> data: { styleObject: { color: 'red', fontSize: '13px' } }
备注:当 v-bind:style使用需要厂商前缀的 CSS 属性时如 transform,Vue.js 会自动侦测并添加相应的前缀。