<!DOCTYPE html> <html> <head> <title>Vue --- v-bind绑定class的几种方式</title> </head> <body> <div id="app1"> <div class="static" :class="{'active':IsActive,'color':IsColor}">第一种方式</div> </div> <div id="app2"> <div :class="[{'active':IsActive},IsColor]">第二种方式</div> </div> <div id="app3"> <div :class="[IsActive ? activecls:'',IsColor]">第三种方式</div> </div> <div id="app4"> <div :class="classes">第四种方式</div> </div> <script type="text/javascript" src="https://unpkg.com/vue/dist/vue.min.js"></script> <script type="text/javascript"> // 第一种方式 var app1 = new Vue({ el:'#app1', data:{ IsActive:false, IsColor:true } }) // 第二种方式 var app2 = new Vue({ el:'#app2', data:{ IsActive:false, IsColor:'color' } }) // 第三种方式 三元表达式 var app3 = new Vue({ el:'#app3', data:{ IsActive:true, activecls:'active', IsColor:'color' } }) // 第四种方式 var app4 = new Vue({ el:'#app4', data:{ size:'small', disable:true }, computed:{ classes:function () { return [ 'btn', { ['btn-'+ this.size]:this.size !== '', ['btn-disable']:this.disable } ] } } }) </script> </body> </html>