对象绑定
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>click to change the color</title>
<script src="./vue.js"></script>
<style>
.activated{
color: red;
}
</style>
</head>
<body>
<div id="app">
<div :class="{activated: isActivated}" @click="changeColor">Hello</div>
</div>
<script>
var vm=new Vue({
el:'#app',
data:{
isActivated:false
},
methods:{
changeColor(){
this.isActivated=!this.isActivated;
}
}
})
</script>
</body>
</html>
数组绑定
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>click to change the color</title>
<script src="./vue.js"></script>
<style>
.activated{
color: red;
}
</style>
</head>
<body>
<div id="app">
<div :class="[activated]" @click="changeColor">Hello</div>
</div>
<script>
var vm=new Vue({
el:'#app',
data:{
activated:''
},
methods:{
changeColor(){
if(this.activated===''){
this.activated="activated";
}
else{
this.activated="";
}
}
}
})
</script>
</body>
</html>
style绑定
<!DOCTYPE html>
<html>
<head>
<title>change color</title>
<script src="./vue.js"></script>
</head>
<body>
<div id='app' :style="changeColor" @click='handleColor'>hello
</div>
<script>
var vm=new Vue({
el:'#app',
data:{
changeColor:{
color:'black'
}
},
methods:{
handleColor(){
this.changeColor.color=this.changeColor.color=='black'?'red':'black'
}
}
})
</script>
</body>
</html>
也可以写成数组
<div id='app' :style="[changeColor,{fontSize:'20px'}]" @click='handleColor'>hello</div>