第一种方式:class的对象绑定
<body>
<div id="app">
<div @click="handleDivClick"
:class="{activated: isActivated}"
>
Hello World
</div>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
isActivated: false
},
methods: {
handleDivClick: function() {
this.isActivated = !this.isActivated;
}
}
})
</script>
</body>
如果isActivated为true,则绑定class=“activated”
为activated绑定样式:
<style>
.activated {
color: red;
}
</style>
实现点击Hello World一次变红色,再点击一次变黑色。
第二种方式:class的数组绑定
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue的样式绑定</title>
<script src="./vue.js"></script>
<style>
.activated {
color: red;
}
</style>
</head>
<body>
<div id="app">
<div @click="handleDivClick"
:class="[activated]"
>
Hello World
</div>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
activated: ""
},
methods: {
handleDivClick: function() {
this.activated = this.activated === "activated"?
"" : "activated"
}
}
})
</script>
</body>
</html>
第三种方式:style的对象绑定
<body>
<div id="app">
<div @click="handleDivClick"
:style="styleObj"
>
Hello World
</div>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
styleObj: {
color: "black"
}
},
methods: {
handleDivClick: function() {
this.styleObj.color = this.styleObj.color === "black"?
"red" : "black";
}
}
})
</script>
</body>
第四种方式:style的数组绑定
<body>
<div id="app">
<div @click="handleDivClick"
:style="[styleObj,{fontSize: '20px'}]"
>
Hello World
</div>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
styleObj: {
color: "black"
}
},
methods: {
handleDivClick: function() {
this.styleObj.color = this.styleObj.color === "black"?
"red" : "black";
}
}
})
</script>
</body>