<!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>