Vue 样式绑定的实现方法
学习 Vue 的时候觉得样式绑定很简单,使用的时候总是容易搞晕自己。因为 :class 和 :style 里的数组语法和对象语法和 data 里绑定的值是不太一样的。这篇文章就简单对 Vue 绑定做个。
操作元素的class列表和内联样式是数据绑定的一个常见需求,因为它们都是属性,所以可用v-bind处理,通过表达式计算出字符串结果即可。不过字符串拼接麻烦且易错。,在将v-bind用于class和style时,Vue做了专门增强,表达式结果类型除了字符串之外,还可是对象或数组。
- Class绑定
- Style绑定
绑定Class
对象语法
data 里的属性是负责 toggle 是否要这个 class,也就是一般定义 Boolean 类型的值。
<div :class="{ active: isActive, 'text-danger': hasError }"></div>
这里用 isActive 和 hasError 定义是否需要 active 和 text-danger 类。
data: { isActive: true, hasError: false }
渲染为
<div class="active"></div>
数组语法
data 里负责定义 CSS 类名。
<div :class="[activeClass, errorClass]"></div>
这里定义了 activeClass 和 errorClass 的 CSS 类名是 active 和 text-danger。
data: { activeClass: 'active', errorClass: 'text-danger' }
渲染为
<div class="active text-danger"></div>
混合写法
可以用混合的形式来绑定 class,即数组语法里写对象语法。所以 data 里的数据主要用于
- 是否需要某个 class
- 定义 "class" 里面的类名
<div :class="[{ active: isActive }, errorClass]"></div>
这里定义了 errorClass 的 CSS 类名为 text-danger,并用 isActive 定义是否需要 active 类。
data: { errorClass: 'text-danger', isActive: true }
渲染为
<div class="active text-danger"></div>
绑定Style
对象语法
data 里的属性是定义 style 里的值。与 class 不一样,class 是定义是否要这个 class的。
<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
这里定义了 style 里的 color 和 font-size 的值。
data: { activeColor: 'red', fontSize: 30 }
渲染为
<div style="color: red; font-size: 30px"></div>
数组语法
可以绑定多个样式对象到 style 上
<div :style="[baseStyles, overridingStyles]"></div>
这里在 data 里用 styleObject 定义了 color 和 font-size,再用 overridingStyles 定义了 background 和 margin。然后在组件里用数组进行混合绑定。
data: { styleObject: { color: 'red', fontSize: '13px' }, overridingStyles: { background: 'green', margin: '13px' } }
渲染为
<div style="color: red; font-size: 13px; background: green; margin: 13px;"></div>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程