Vue 官方文档2.x教程学习笔记 1 基础 1.6 Class 与 Style 绑定 1.6.1 绑定HTML Class
创始人
2024-03-16 09:36:43
0

Vue 官方文档2.x教程学习笔记

文章目录

      • Vue 官方文档2.x教程学习笔记
      • 1 基础
        • 1.6 Class 与 Style 绑定
          • 1.6.1 绑定HTML Class

1 基础

1.6 Class 与 Style 绑定

操作元素的 class 列表和内联样式是数据绑定的一个常见需求。

因为它们都是 attribute,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。

不过,字符串拼接麻烦且易错。因此,在将 v-bind 用于 classstyle 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。

1.6.1 绑定HTML Class

【对象语法】

我们可以传给 v-bind:class 一个对象,以动态地切换 class:



Title

HTMLClass 绑定

上面的语法表示 active 这个 class 存在与否将取决于数据 property isActive 的 truthiness【真值】。

浏览器效果

在这里插入图片描述

也可以在对象中传入更多字段来动态切换多个 class。此外,v-bind:class 指令也可以与普通的 class 属性共存。

当有如下模板:

在这里插入图片描述

isActive 或者 hasError 变化时,class 列表将相应地更新。

在这里插入图片描述

这样子写的话,有点麻烦,绑定的数据对象都内联式的定义在模板里了。

【其实不必【直接封装成一个对象】】



Title

渲染效果

在这里插入图片描述

也可以在这里绑定一个返回对象的计算属性。【这是一个常用且强大的模式】



Title

渲染效果

在这里插入图片描述

【数组语法】

我们可以把一个数组传给 v-bind:class,以应用一个 class 列表:



Title

渲染结果

在这里插入图片描述

如果想根据条件切换列表中的 class,可以用三元表达式:



Title

在这里插入图片描述

这样写将始终添加 errorClass,但是只有在 isActive 是 truthy【真】时才添加 activeClass

不过,当有多个条件 class 时这样写有些繁琐。所以在数组语法中也可以使用对象语法:

【用在组件上】

当在一个自定义组件上使用 class property 时,这些 class 将被添加到该组件的根元素上面。

这个元素上已经存在的 class 不会被覆盖。

[举个栗子]

声明组件:

Vue.component('my-component', {template: '

Hi

>' })

在这里插入图片描述

在使用它的时候添加一些class :

在这里插入图片描述

最终的渲染结果

在这里插入图片描述

嗯,添加到组件的根元素上了。

对于带数据绑定 class 也同样适用:

在这里插入图片描述

isActive 为 truthy【真】时,HTML 将被渲染成为:

Hi

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...