vue3实现在style中使用响应式变量

vue2的时候需要在style模块中访问script模块中的响应式变量,为此不得不使用css变量去实现。现在vue3已经内置了这个功能啦,可以在style中使用v-bind指令绑定script模块中的响应式变量。

示例

<template><div><span>hello </span><span class="color">wolrd</span></div>
</template>
<script lang="ts" setup>import { ref } from 'vue';const color = ref("#ff0000")
</script>
<style scoped>.color {color: v-bind(color);}
</style>

我们在script模块中定义了一个响应式变量color,并且在style中使用v-bind指令将color变量绑定到color样式上面。

我们在浏览器的network面板中来看看编译后的文件,如下图:

从上图中可以看到在network面板中编译后的HelloWorld.vue文件有两个,并且第二个里面有一些query参数,其中的type=style就表示当前文件的内容对应的是style模块。第一个HelloWorld.vue对应的是template和script模块中的内容。

我们来看看第一个HelloWorld.vue,如下图:

从上图中可以看到setup函数是script模块编译后的内容,在setup函数中多了一个_useCssVars函数,从名字你应该猜到了,这个函数的作用是和css变量有关系。别着急,我们接下来会详细去讲_useCssVars函数。

我们再来看看第二个HelloWorld.vue,如下图:

从上图中可以看到这个index.vue确实对应的是style模块中的内容,并且原本的color: v-bind(color);已经变成了color: var(--e17ea971-color);

很明显浏览器是不认识v-bind(color);指令的,所以经过编译后就变成了浏览器认识的css变量var(--e17ea971-color);

我们接着在elements面板中来看看此时class值为block的span元素,如下图:

从上图中可以看到color的值为css变量var(--e17ea971-color)。这里从父级元素div中继承过来一个---e17ea971-color: #ff0000;

这个就是声明一个名为--e17ea971-color的css变量,变量的值为#ff0000

还记得在script模块中定义的响应式变量color吗?他的值就是#ff0000

所以这个span元素最终color渲染出来的值就是#ff0000

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

40个高阶ChatGPT学术论文指令集(附GPT使用链接)

我精心挑选的40个顶尖ChatGPT学术论文指令集&#xff0c;无疑将成为你撰写论文和开展研究的珍贵资源&#xff0c;极力推荐你珍藏起来&#xff01;这些建议极具实用价值&#xff0c;能有效提高你的研究工作效率&#xff0c;使得论文撰写过程轻松许多。 在开始前&#xff0c;提示…

8、matlab彩色图和灰度图的二值化算法汇总

1、彩色图和灰度图的二值化算法汇总原理及流程 彩色图和灰度图的二值化算法的原理都是将图像中的像素值转化为二值&#xff08;0或1&#xff09;&#xff0c;以便对图像进行简化或者特定的图像处理操作。下面分别介绍彩色图和灰度图的二值化算法的原理及流程&#xff1a; 1&a…

Python功能制作之获取CSDN所有发布文章的对应数据

大家好&#xff0c;今天我要分享的是一个实用的Python脚本&#xff0c;它可以帮助你批量获取CSDN博客上所有发布文章的相关数据&#xff0c;并将这些数据保存到Excel文件中。此外&#xff0c;脚本还会为每篇文章获取一个质量分&#xff0c;并将这个分数也记录在Excel中。让我们…

多周期路径的约束与设置原则

本节将回顾工具检查建立保持时间的原则&#xff0c;接下来介绍设置多周期后的检查原则。多周期命令是设计约束中常用的一个命令&#xff0c;用来修改默认的建立or保持时间的关系。基本语法如下 默认的建立时间与保持时间的检查方式 DC工具计算默认的建立保持时间关系是基于时钟…

Python实战:拥有设闹钟功能的可视化动态闹钟的实现

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

6-5,web3浏览器链接区块链(react+区块链实战)

6-5&#xff0c;web3浏览器链接区块链&#xff08;react区块链实战&#xff09; 6-5 web3浏览器链接区块链&#xff08;调用读写合约与metamask联动&#xff09; 6-5 web3浏览器链接区块链&#xff08;调用读写合约与metamask联动&#xff09; 这里就是浏览器端和智能合约的交…

高职Web全栈式开发实训室解决方案

一、专业背景 随着网络普及和发展&#xff0c;网站作为一种很强大的工具和平台愈来愈融入了人们的生活&#xff0c;而与用户关系最密切的前端技术也逐渐获得应有的重视。咱们能够看到前端重构的行业发展潜力巨大&#xff0c;各大知名的网络公司对前端人才的求饥若渴。近年来HT…

DID差分模型案例集(传统DID、队列DID、渐近DID、空间DID、PSM-DID)

双重差分&#xff08;DID&#xff09;模型是一种广泛应用于经济学、社会学等领域的统计方法&#xff0c;主要用于评估政策或事件的因果效应。以下是DID模型几个重要变体的简要介绍&#xff1a; 1、传统DID&#xff08;Traditional DID&#xff09;&#xff1a;这是DID模型的基…

【Qt 从基础】创建一个 Qt 项目后,自动生成的代码和文件分析

文章目录 1. Sources 目录下&#xff0c;main.cpp 文件的分析&#x1f427;2. Headers 目录下&#xff0c;widget.h 文件的分析&#x1f427;3. Sources 目录下&#xff0c;widget.cpp 文件的分析&#x1f427;4. Forms 目录下&#xff0c;widget.ui 文件的分析&#x1f427;5.…

目标检测基本标注工具-labelImg安装与使用

&#x1f349;一、安装 1.1 打开conda创建虚拟环境&#x1f388; conda create -n labelImg python3.8 -y 1.2 激活labelImg虚拟环境&#x1f388; activate labelImg1.3 安装labelImg&#x1f388; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lab…

Protobuf: 大数据开发中的高效数据传输利器

作为一名大数据开发者&#xff0c;我经常需要处理海量的数据传输和存储。在这个过程中&#xff0c;选择一个高效、可靠的数据序列化工具至关重要。今天&#xff0c;我想和大家分享一下我在项目中使用 Protobuf 的经历。 目录 故事背景Protobuf 简介优点&#xff1a; 实战案例示…

uView、ColorUI与Vant框架的深入分析与案例实践

摘要&#xff1a; 随着移动开发技术的不断发展&#xff0c;框架的选择对于项目的成功至关重要。本文将对uView、ColorUI和Vant这三个主流移动端框架进行深入分析&#xff0c;探讨它们的优缺点&#xff0c;并通过实际案例展示如何根据项目需求选择合适的框架。 一、引言 在移动…

【人工智能】-- 受限玻尔兹曼机

个人主页&#xff1a;欢迎来到 Papicatch的博客 课设专栏 &#xff1a;学生成绩管理系统 专业知识专栏&#xff1a; 专业知识 文章目录 &#x1f349;引言 &#x1f349;受限玻尔兹曼机 &#x1f348;RBM的结构 &#x1f34d;RBM的架构图 &#x1f34d;RBM的经典实现 &…

Python中对asyncio的实际使用

前言&#xff1a;一般涉及异步编程我都无脑用celery&#xff0c;但是最近在做一个项目&#xff0c;项目不大&#xff0c;也不涉及定时任务&#xff0c;所以就用了asyncio。 asyncio是python自带的模块&#xff0c;比celery轻量&#xff0c;使用起来也简单。以前学习过&#xf…

论文阅读【时空+大模型】ST-LLM(MDM2024)

论文阅读【时空大模型】ST-LLM&#xff08;MDM2024&#xff09; 论文链接&#xff1a;Spatial-Temporal Large Language Model for Traffic Prediction 代码仓库&#xff1a;https://github.com/ChenxiLiu-HNU/ST-LLM 发表于MDM2024&#xff08;Mobile Data Management&#xf…

ArrayList----源码分析

源码中的简介&#xff1a; List接口的可调整数组实现。实现所有可选列表操作&#xff0c;并允许所有元素&#xff0c;包括null。除了实现List接口之外&#xff0c;这个类还提供了一些方法来操作内部用于存储列表的数组的大小。(这个类大致相当于Vector&#xff0c;只是它是不同…

TC软件许可优化解决方案

TC功能说明 Teamcenter 软件是西门子面向全球范围开发的数字化全生命周期管理&#xff08;PLM&#xff09;系统&#xff0c;将人员、产品、流程、知识有机联系在一起&#xff0c;以帮助企业实现数字化协同、数字化赋能、 数字化转型&#xff0c;从而推动企业产品创新与效率提升…

Java链表LinkedList经典题目

一.LinkedList的方法 首先先看一下链表的方法&#xff1a; 方法解释boolean add(E e)尾插void add(int index, E element)将 e 插入到 index 位置boolean addAll(Collection c)尾插 c 中的元素E remove(int index)删除 index 位置元素boolean remove(Object o)删除遇到的第一…

【EIScopus稳检索-高录用】第五届大数据与社会科学国际学术会议(ICBDSS 2024)

大会官网&#xff1a;www.icbdss.org 大会时间&#xff1a;2024年8月16-18日 大会地点&#xff1a;中国-上海 接受/拒稿通知&#xff1a;投稿后1-2周内 收录检索&#xff1a;EI,Scopus *所有参会者现场均可获取参会证明&#xff0c;会议通知&#xff08;邀请函&#xff09;&…

2022 RoboCom省赛题目解析

题目解析&#xff1a;这就是一题很简单的模拟&#xff0c;直接上代码&#xff1b; #include<iostream> using namespace std; const int N 10010; int arr[N]; int main() {int n , m;cin >> n >> m;int sum 0;int res 0;for(int i 0; i < n;i ) cin…