hello,我是小索奇,精心制作的Vue系列持续发放,涵盖大量的经验和示例,由浅入深进行讲解。 本章给大家讲解的是类和样式绑定,前面的章节已经更新完毕,后面的章节持续输出,有任何问题都可以留言或私信哈,一起加油~
类和样式绑定
其中:
是v-bind
的缩写)
绑定class样式
- 写法:
class="soa"
,soa
可以是字符串、对象、数组 - 字符串写法 :类名不确定,要动态获取
- 对象写法 :要绑定多个样式,个数&名字也不确定
- 数组写法 :要绑定多个样式,个数&名字确定,可以进行自定义修改
绑定 style 样式
- 对象写法:
:style="{fontSize: xxx}"
其中xxx是动态值 - 数组写法:
:style="[a,b]"
其中a、b是样式对象
示例
xml
<div id="root">
<!-- 字符串写法,适用于动态类名 -->
<!-- 这里具体方法实现可以自定义 -->
<div :class="color">{{name}}</div>
<!-- 确定类名数组 -->
<div :class="classArr">{{name}}</div>
<!-- 对象根据条件决定 -->
<div :class="classObj">{{name}}</div>
<!-- style对象 -->
<div :style="styleObj">{{name}}</div>
<!-- style数组 -->
<div :style="styleArr">{{name}}</div>
</div>
<script>
const vm = new Vue({
el: '#root',
data: {
name: '小索奇',
color: '#9900ff',
classArr: ['cls1', 'cls2'],
classObj: {
cls1: false
},
styleObj: {
fontSize: '40px',
color: '#9966ff'
},
styleArr: [
{ fontSize: '40px' },
{ color: '#9900ff' }
]
}
})
</script>
记住一个逻辑:不变写死的可以用css定义,变化的vue定义!
:style
绑定的值可以是一个对象,对象中的CSS属性名和属性值会被直接设置为元素的行内样式
这样就可以在模板中方便地切换多个样式属性,而不需要预先在CSS中定义className
当绑定的数据变化时,setStyle会响应式地更新应用到元素上
相比在CSS中预定义,:style
绑定可以在运行时动态构建样式对象,非常灵活
而且:style
绑定也支持绑定一个数组来应用多个样式对象~