vue 样式隔离原理

news/2024/11/15 0:37:52/

日常写单文件组件时,会在style添加scoped属性,如<style scoped>,目的是为了隔离组件与组件之间的样式,如下面的例子:

<template><p class="foo">这是foo</p><p class="bar">这是bar</p>
</template><style scoped>
.foo {color: red;
}
.bar {color: green;
}
</style>

在vue组件挂在到dom之前,通过vue-loader(vue2)或@vitejs/plugin-vue(vue3)编译,检查到style包含scoped时,会生成data-v-xxxx(hash值),在对应的元素上会添加data-v-xxxx(hash值)的属性,这个属性在不同的单文件组件之间是唯一的存在,对应的样式也会添加属性选择器,进而实现样式隔离效果。

hash值在不同环境生成的方式有所不同

  • 开发环境下会根据文件相对路径生成唯一 ID,比如 vite 中 src/App.vue 固定生成 7a7a37b1
  • 生产环境下会根据文件相对路径+文件内容共同生成唯一 ID

在这里插入图片描述

相关参考
https://zhuanlan.zhihu.com/p/657040862
https://juejin.cn/post/7057854547229671432


http://www.ppmy.cn/news/1333595.html

相关文章

TestNG @BeforeGroups 注解

目录 首先&#xff0c;我们必须理解什么是TestNG中的组&#xff0c;以及为什么要创建组&#xff1f; 那么&#xff0c;如何在TestNG中创建组呢&#xff1f; 什么时候BeforeGroups注释的方法会相对于其他BeforeXXX注释执行&#xff1f; 假设情景 Q -如果我们试图执行一个跨越…

Ubuntu20.04配置grub ,不必每次都输入 nomodeset

一、查看原来的grub配置&#xff1a; grep menuentry /boot/grub/grub.cfg 重点注意以下类似的核心版本号 gnulinux-5.15.0-92-generic-advanced-86a86651-8070-4338-92ee-8a1a13a98a05 gnulinux-5.15.0-67-generic-advanced-86a86651-8070-4338-92ee-8a1a13a98a05 …

Spring Boot 项目的创建和启动

文章目录 什么是 Spring Boot创建Spring Boot 项目IDEA网页版 Spring Boot 的使用项目目录介绍项目启动实现 Hello 输出 什么是 Spring Boot Spring 的诞生是为了简化 Java 程序的开发的&#xff0c;而 Spring Boot 的诞生是为了简化 Spring 程序开发。 也就是说 Spring Boot…

江科大STM32 中

目录 6、TIM&#xff08;Timer&#xff09;定时器基本定时器通用定时器高级定时器示例程序&#xff08;定时器定时中断&定时器外部时钟&#xff09;TIM输出比较示例程序&#xff08;PWM驱动LED呼吸灯&PWM驱动舵机&PWM驱动直流电机&#xff09;TIM输入捕获示例程序&…

Java利用poi库将excel转化为图片

实际上就是利用poi库一行一行画出来 import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.io.File; …

【思路合集】talking head generation+stable diffusion

1 以DiffusionVideoEditing为baseline&#xff1a; 改进方向 针对于自回归训练方式可能导致的漂移问题&#xff1a; 训练时&#xff0c;在前一帧上引入小量的面部扭曲&#xff0c;模拟在生成过程中自然发生的扭曲。促使模型查看身份帧以进行修正。在像VoxCeleb或LRS这样的具…

【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus

文章目录 一、什么是 Mybatis Plus特性 二、Spring Boot 3.0 集成 Mybatis Plus三、Mybatis Plus 查询示例1、普通查询2、分页查询 参考 一、什么是 Mybatis Plus MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增…

云手机哪一款好用?

随着海外市场的不断发展&#xff0c;云手机市场也呈现蓬勃的态势&#xff0c;众多云设备软件纷纷涌现。企业在选择云手机软件时&#xff0c;如何找到性能卓越的软件成为一项关键任务。在众多选择中&#xff0c;OgPhone云手机凭借其卓越的性能和独特功能脱颖而出。以下是OgPhone…