class
- 为什么要绑定类名?
- 数据–驱动–》视图 数据–控制–》类名 -->样式
- 类名 要和 数据 绑定 —使用 —》 v-bind
- 类名的绑定方式
- A: 对象的形式
<div :class = "{'size': classFlag,'bg': classFlag}"></div>
注意: 对象中的key用字符表示
- B: 数组的形式
<div :class = "['size','bg']"> </div>
<div :class = "[size,bg]"> </div>
<div :class = "[classFlag?size:bg]"> </div>
例子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="../basic-source/vue.js"></script>
<style>
.size {
width: 50px;
height: 50px;
background: red;
margin: 10px;
}
.bg {
background: blue;
}
</style>
</head>
<body>
<div id="app">
<h3>类名的绑定</h3>
<div class="size"></div>
<div class="size bg"></div>
<hr>
<h3>类名-对象的形式</h3>
<!--</div>推荐用法 -->
<div :class="{'size':classFlage,'bg':classFlage}"></div>
<!-- <div :class="{size}"></div>//这个不等于data里面的size,直接等于上面的样式 -->
<hr>
<h3>类名-数组的形式</h3>
<div :class="['size','bg']"></div>
<div :class="[size]"></div>
<!--这个size等于data里面得size -->
<button @click='changeClass'>changeClass</button>
<button @click='classFlage = !classFlage'>changeClass</button>
<div :class="[classFlage?size:bg]"></div>
</div>
</body>
<script>
new Vue({
el: '#app',
data: {
classFlage: true,
size: 'size',
bg: 'bg'
},
methods: {
changeClass() {
this.classFlage = !this.classFlage
}
}
})
</script>
</html>