一, 用 变量形式 绑定单个 Class 名
在 vue 中绑定单个 class 名还好说, 直接写就可以了
<template>
<div id="app">
<!-- 因为是自定义属性, 所以要用到 v-bind , 简写为 : -->
<!-- 3. 将 box 绑定给 div -->
<div :class="box"></div>
</div>
</template>
<script>
export default {
name: 'app',
data () {
return {
// 2. 在 data 中把 yellow 赋给 box
box: 'yellow'
}
}
}
</script>
<style>
/* 1. 在样式表中写好样式 */
.yellow{
width: 200px;
height: 200px;
background: #ff0;
}
</style>
用 Vue 绑定单个 Class 名
二, 用 数组形式 绑定多个 Class 名
比如我们想再给这个 div 加个阴影
在 style 中写好样式
.shadow{
box-shadow: 10px 10px 5px 0 #999;
}
在 data 中继续添加数据对象
<script>
export default {
name: 'app',
data () {
return {
box: 'yellow',
shadow:'shadow'
}
}
}
</script>
在标签中以数组的形式绑定 Class 名
<template>
<div id="app">
<div :class="[box,shadow]"></div>
</div>
</template>
就 OK 了.
用 数组形式 绑定多个 Class 名
三, 用 json 形式 绑定多个 Class 名
该方法方便用于当同时添加多个 Class 名时, 在某种情况下判断显示哪种样式
先写好样式
<style>
.yellow{
width: 200px;
height: 200px;
background: #ff0;
}
.shadow{
box-shadow: 10px 10px 5px 0 #999;
}
</style>
在 data 中添加数字对象, 用来做判断
<script>
export default {
name: 'app',
data () {
return {
show1:true,
show2:false
}
}
}
</script>
以 json 的形式绑定到 class 中, 通过布尔值改变 show1 与 show2 的值, 来控制 div 的状态
<template>
<div id="app">
<div :class="{yellow:show1,shadow:show2}"></div>
</div>
</template>
用 json 形式 绑定多个 Class
来源: http://www.jianshu.com/p/c9c841dafec1