Vue中的class和style绑定

聚沙成塔·每天进步一点点

本文内容

  • ⭐ 专栏简介
    • 动态绑定class
      • 对象语法
      • 数组语法
    • 动态绑定style
      • 对象语法
      • 多重值
  • ⭐ 写在最后


⭐ 专栏简介

Vue学习之旅的奇妙世界 欢迎大家来到 Vue 技能树参考资料专栏!创建这个专栏的初衷是为了帮助大家更好地应对 Vue.js 技能树的学习。每篇文章都致力于提供清晰、深入的参考资料,让你能够更轻松、更自信地理解和掌握 Vue.js 的核心概念和技术。订阅这个专栏,让我们一同踏上更深入的 Vue学习之旅!为你的前端技能树添砖加瓦!

在这里插入图片描述


在Vue中,我们可以使用 v-bind 指令来动态绑定 HTML 元素的 classstyle 属性。这使得我们能够根据组件的状态或数据的变化来动态修改元素的样式。

动态绑定class

对象语法

<template>
  <div :class="{ active: isActive, 'text-bold': isBold }">
    Dynamic Class Binding
  </div>
</template>

<script>
export default {
  data() {
    return {
      isActive: true,
      isBold: false,
    };
  },
};
</script>

在上述例子中,:class 后面跟着一个对象,对象的键是类名,值是一个布尔值。只有当布尔值为 true 时,对应的类名才会被添加到元素上。这使得我们可以根据组件的状态动态添加或移除类名。

数组语法

<template>
  <div :class="[activeClass, boldClass]">
    Dynamic Class Binding with Arrays
  </div>
</template>

<script>
export default {
  data() {
    return {
      isActive: true,
      isBold: false,
    };
  },
  computed: {
    activeClass() {
      return this.isActive ? 'active' : '';
    },
    boldClass() {
      return this.isBold ? 'text-bold' : '';
    },
  },
};
</script>

在这个例子中,:class 后面跟着一个数组,数组的元素是类名。通过计算属性,我们可以根据组件的状态返回一个类名的数组,然后这些类名都会被添加到元素上。

动态绑定style

对象语法

<template>
  <div :style="{ color: textColor, fontSize: textSize + 'px' }">
    Dynamic Style Binding
  </div>
</template>

<script>
export default {
  data() {
    return {
      textColor: 'red',
      textSize: 16,
    };
  },
};
</script>

:style 后面跟着一个对象,对象的键是样式属性,值是样式的值。这样,我们可以根据组件的状态动态设置元素的样式。

多重值

<template>
  <div :style="{ color: textColor, fontSize: textSize + 'px', ...customStyles }">
    Dynamic Style Binding with Multiple Values
  </div>
</template>

<script>
export default {
  data() {
    return {
      textColor: 'red',
      textSize: 16,
      customStyles: {
        backgroundColor: 'lightblue',
        fontWeight: 'bold',
      },
    };
  },
};
</script>

在这个例子中,我们使用 ...customStyles 将一个包含多个样式的对象展开,这样可以方便地组合多个样式对象。

通过这些动态绑定 classstyle 的方式,我们可以根据组件的状态或数据的变化来灵活地调整元素的样式,使得页面的展示更加丰富和动态。


⭐ 写在最后

欢迎来到《Vue技能树专栏》!本专栏旨在帮助您全面深入地掌握Vue.js,一款现代、灵活且强大的JavaScript框架。无论您是初学者还是有一定经验的开发者,这里都将为您提供详细的指导、实用的技巧以及深入的理解,助您在Vue.js世界中游刃有余。如果文中出现有瑕疵的地方各位可以通过主页的左侧联系我指正,我们一起进步,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/309834.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Provide/Inject 依赖注入(未完待续)

父组件传递给子组件数据&#xff0c;通过props&#xff0c;但是需要逐层传递 provide/Inject 的推出就是为了解决这个问题&#xff0c;它提供了一种组件之间共享此类值的方式,不必通过组件树每层级显示地传递props 目的是为了共享那些被 认为对于一个组件树而言是全局的数据 p…

MulticoreWare与Imagination一同按下汽车计算工作负载的“加速键”

中国北京 – 2024年1月8日 - MulticoreWare Inc与Imagination Technologies共同宣布已在德州仪器TDA4VM处理器上实现了GPU计算&#xff0c;不仅使算力提升了约50 GFLOPS&#xff0c;而且还实现了自动驾驶和高级驾驶辅助系统&#xff08;ADAS&#xff09;常见工作负载性能的跃升…

MySQL 从零开始:03 基本入门语句

文章目录 1、连接数据库1.1 命令提示符登陆1.2 MySQL 8.0 Command Line Client 登陆1.3 MySQL Workbench 登陆 2、基本语句2.1 查看所有库2.2 创建库2.3 删除库2.4 选择数据库2.5 查看表2.6 创建表2.7 删除表2.8 改表名2.9 清空表 在上一小节中介绍了 MySQL 数据库的安装&#…

【Win10安装Qt6.3】安装教程_保姆级

前言 Windows系统安装Qt4及Qt5.12之前版本和安装Qt.12之后及Qt6方法是不同的 &#xff1b;因为之前的版本提供的有安装包&#xff0c;直接一路点击Next就Ok了。但Qt5.12版本之后&#xff0c;Qt公司就不再提供安装包了&#xff0c;不论是社区版&#xff0c;专业版等&#xff0c…

羌族特色民居----碉楼

羌族是四川的一个少数民族&#xff0c;他们独具特色的民居就是----碉楼。在羌语中&#xff0c;碉楼被称为“邓笼”&#xff0c;意为美丽、高贵的房子&#xff0c;羌族人有“依山而居&#xff0c;垒石为屋&#xff0c;高者十余丈”的习俗。碉楼的高度在十米至三十米之间。用于御…

飞腾FT2000-4/D2000-8 VPX主板

产品特点 ①国产飞腾FT2000-4或D2000-8处理器 &#xff0c;同一模块兼容两种处理器&#xff0c;可以根据性能需要选择 ②丰富的万兆以太网、千兆以太网、USB、SATA接口&#xff0c;可用作数据处理、存储、通信服务器 ③内部集成FPGA-V7协处理器&#xff0c;支持SRIO、LVDS等…

k8s的存储卷、数据卷

容器内的目录和宿主机目录进行挂载。 容器在系统上的生命周期是短暂的。 k8s用控制器创建的pod。delete相当于重启。容器的状态也会恢复到初始状态。一旦恢复到初始状态&#xff0c;所有的后天编辑的文件都会消失 容器和节点之间创建一个可以持久化保存容器内文件的存储卷。…

详解JavaScript中的WeakMap和WeakSet

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ ​ ✨ 前言 内存管理一直是JavaScript这门语言中的难点和痛点。由于其自动垃圾回收机制的限制,在某些场…

Kettle Local引擎使用记录(一)(基于Kettle web版数据集成开源工具data-integration源码)

Kettle Web &#x1f4da;第一章 前言&#x1f4da;第二章 demo源码&#x1f4d7;pom.xml引入Kettle引擎核心文件&#x1f4d7;java源码&#x1f4d5; controller&#x1f4d5; service&#x1f4d5; 其它&#x1f4d5; maven settings.xml &#x1f4d7;测试&#x1f4d5; 测试…

Opencv实验合集——实验七:二维码和条形码匹配

1.概念 二维码&#xff08;QR码&#xff09; 概念&#xff1a; 二维码是一种矩阵式的二维条码&#xff0c;由黑白方块组成&#xff0c;可以存储大量的信息&#xff0c;包括文本、链接、数字等。QR码的编码方式是在矩阵中通过不同的黑白方块组合表示不同的信息。 特点&#xf…

PHP开发日志 ━━ 不同方法判断某个数组中是否存在指定的键名,测试哪种方法效率高

我们可以用isset($arr[a]) 或者 array_key_exists(a, $arr) 来判断a键名是否存在与$arr数组。 那么这两种方式哪个运行速度快呢&#xff1f; 不多废话了&#xff0c;现在我们写一段代码来测试一下&#xff1a; $array [a > 1, b > 2, c > 3];$start microtime(tru…

图像去雨-雨线清除-图像处理(计算机视觉作业-附代码)

图像去雨是一种图像处理技术&#xff0c;可以通过算法的方式去除图像中的雨滴或雨线等噪声。在实际应用中&#xff0c;图像去雨技术可以提高图像质量&#xff0c;使得图像更加清晰、自然、易于识别和理解。 通常&#xff0c;图像去雨技术基于计算机视觉和深度学习等技术&#…

算法与数据结构--最小生成树算法

一.应用的场景 类似于这种最小成本问题&#xff0c;实际上就是计算加权图把所有点连起来权重之和最小值的时候是怎么连接的。类似的问题还有最短耗时之类的问题。 二.最小生成树的定义 生成树&#xff1a; 图的生成树是它的一颗含有其所有顶点的无环连通子图。 【简单说就是所…

作业帮基于 DolphinScheduler 的数据开发平台实践

摘要 随着任务数量、任务类型需求不断增长&#xff0c;对我们的数据开发平台提出了更高的要求。本文主要分享我们将调度引擎升级到 Apache DolphinScheduler 的实践经验&#xff0c;以及对数据开发平台的一些思考。 1. 背景 首先介绍下我们的大数据平台架构&#xff1a; 数据…

在vue3+vite中使用svg-sprite-loader,antdv修改菜单icon

1. 安装 npm install vite-plugin-svg-icons -D 2. 在vite.config.js的plugins中添加配置项 import { createSvgIconsPlugin } from vite-plugin-svg-icons;createSvgIconsPlugin({iconDirs: [resolve(process.cwd(), src/components/svgIcon/svg)], // icon存放的目录&…

【Emgu.CV教程】4.4、无缝融合应用之TextureFlattening()纹理扁平化

这是无缝融合应用的最后一篇&#xff0c;TextureFlattening()函数&#xff0c;专门用于对图像指定部位进行纹理扁平化的。这个功能现在讲起来有点太早了&#xff0c;应该放到《图像的空间滤波--平滑》这一章节中才合适。因为它就是用Sobel算子进行平滑&#xff0c;也就是在保留…

API(Date类,SimpleDateFormat类,Calendar类,JDK8时间相关类,包装类,算法小题)

文章目录 【常用API】今日内容教学目标 第一章 Date类1.1 Date概述1.2 Date常用方法 第二章 SimpleDateFormat类2.1 构造方法2.2 格式规则2.3 常用方法2.4 练习1(初恋女友的出生日期)2.5 练习2(秒杀活动) 第三章 Calendar类3.1 概述3.2 常用方法3.3 get方法示例3.4 set方法示例…

EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测

EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测 目录 EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【E…

CSS3实现轮播效果

在我们不使用JS的情况下&#xff0c;是否也可以实现轮播功能呢&#xff1f; 答应是可以的 上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>轮播</title><style>.boss…

⭐Unity 将电脑打开的窗口画面显示在程序中

1.效果&#xff1a; 下载资源包地址&#xff1a; Unity中获取桌面窗口 2.下载uWindowCapturev1.1.2.unitypackage 放入Unity工程 3.打开Single Window场景&#xff0c;将组件UwcWindowTexture的PartialWindowTitle进行修改&#xff0c;我以腾讯会议为例 感谢大家的观看&#xf…