動(dòng)態(tài)綁定style和class
數(shù)據(jù)綁定一個(gè)常見(jiàn)需求是操作元素的 class 列表和它的內(nèi)聯(lián)樣式掉弛。因?yàn)樗鼈兌际菍傩?奈惑,我們可以用v-bind 處理它們:只需要計(jì)算出表達(dá)式最終的字符串吭净。而且,把 v-bind 用于 class 和 style 時(shí)肴甸,表達(dá)式的結(jié)果類(lèi)型除了字符串之外寂殉,還可以是對(duì)象或數(shù)組。
案例代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.test{
width: 200px;
height: 50px;
background-color: red;
}
.active{
width: 300px;
height: 150px;
background-color: green;
color: white;
font-size: 25px;
}
</style>
</head>
<body>
<div id="app">
<p class="test" :class="{active : isActive}">動(dòng)態(tài)綁定class</p>
<p :style="currentStyle">動(dòng)態(tài)綁定style</p>
<button @click="changeClass()">修改class</button>
<button @click="changeStyle()">修改style</button>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var vm = new Vue({
el:'#app',
data:{
isActive:false,
//默認(rèn)style
currentStyle:{
width: '500px',
height: '200px',
backgroundColor: 'blue'
}
},
methods:{
changeClass(){
this.isActive = !this.isActive;
},
changeStyle(){
this.currentStyle = {
width: '300px',
height: '100px',
backgroundColor: 'orange',
color:'white',
fontSize:'30px'
}
}
}
})
</script>
</html>