**1.5.1.** **效果** **(04\_class** **与** **style** **绑定****/test.html)**
![](https://box.kancloud.cn/9e28bfb18aa631b6d5a390f54674b2ac_1118x648.png)
**1.5.2.** **理解**
1) 在应用界面中, 某个(些)元素的样式是变化的
2) class/style 绑定就是专门用来实现动态样式效果的技术
**1.5.3. class** **绑定**
1) :class='xxx'
2) 表达式是字符串: 'classA'
3) 表达式是对象: {classA:isA, classB: isB}
4) 表达式是数组: \['classA', 'classB'\]
**1.5.4. style** **绑定**
1) :style="{ color: activeColor, fontSize: fontSize + 'px' }"
2) 其中 activeColor/fontSize 是 data 属性
**1.5.5.** **编码**
```
<div id="demo">
<h2>1. class绑定: :class='xxx'</h2>
<p :class="myClass">xxx是字符串</p>
<p :class="{classA: hasClassA, classB: hasClassB}">xxx是对象</p>
<p :class="['classA', 'classB']">xxx是数组</p>
<h2>2. style绑定</h2>
<p :style="{color:activeColor, fontSize}">:style="{ color: activeColor, fontSize: fontSize + 'px' }"</p>
<button @click="update">更新</button>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
new Vue({
el: '#demo',
data: {
myClass: 'classA',
hasClassA: true,
hasClassB: false,
activeColor: 'red',
fontSize: '20px'
},
methods: {
update () {
this.myClass = 'classB'
this.hasClassA = !this.hasClassA
this.hasClassB = !this.hasClassB
this.activeColor = 'yellow'
this.fontSize = '30px'
}
}
})
</script>
```
- vue 核心
- 1.1. Vue 的基本认识
- 1.2. Vue 的基本使用
- 1.3. 模板语法
- 1.4. 计算属性和监视
- 1.5. class 与 style 绑定
- 1.6. 条件渲染
- 1.7. 列表渲染
- 1.8. 事件处理
- 1.9. 表单输入绑定
- 1.10. Vue 实例生命周期
- 1.11. 过渡&动画
- 1.12. 过滤器
- 1.13. 内置指令与自定义指令
- 1.14. 自定义插件
- 第二章:vue 组件化编码
- 2.1使用 vue-cli 创建模板项目
- 2.2. 项目的打包与发布
- 2.3. eslint
- 2.4. 组件定义与使用
- 2.5. 组件间通信
- 2.6. 组件间通信 1: props
- 2.7. 组件间通信 2: vue 自定义事件
- 2.8. 组件间通信 3: 消息订阅与发布(PubSubJS 库)
- 2.9. 组件间通信 4: slot
- 2.10. demo1
- 2.11. demo2