有三种方式:
1、字符串写法(freeA)
适用于:样式的类名不确定,需要动态指定
2、数组写法(freeB)
适用于:要绑定的样式个数不确定,名字也不确定
3、对象写法(freeC)
适用于:要绑定的样式个数确定,名字确定,但是要动态决定是否
对象写法简写
<button style="width: 5rem;height: 3rem;" :class="{样式名:true|false}}" @click="test"></button>
如
<button style="width: 5rem;height: 3rem;" :class="{greeC:freeCC}" @click="test"></button>
demo如下
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
<style>.redC{background-color: red;}.greeC{background-color: gray;}.pinC{background-color: pink;}</style><div id="app">{{ message }}
<button style="width: 5rem;height: 3rem;" :class="freeA" @click="test"></button>
<button style="width: 5rem;height: 3rem;" :class="freeB" @click="test"></button>
<button style="width: 5rem;height: 3rem;" :class="freeC" @click="test"></button>
</div>
<script>
// vue2
let vm=new Vue({el: '#app',data: {message:'阿萨德',x:'',y:'',z:{za:1},freeB:['redC','greeC'],freeA:'redC',freeC:{pinC:true}},methods:{},})</script>