前言

本笔记主要基于官方文档《0023-scoped-styles-changes.md》汇总而来。如有理解出入,请以官方文档为主。建议您以官方文档为主,本文为辅。这样您可以“以自己为主”审视的阅读,从而不被我的观点带偏。

一个改变: 深度选择器

在Vue3.中,Vue 2.x 的深度选择器 >>>/deep/已经被弃用了。::v-deep 作为组合器的写法同样被弃用。

<style scoped>
/* 以下三种写法被弃用 */
.a >>> .b { /* ... */ }
.a /deep/ .b { /* ... */ }
.a::v-deep .b { /* ... */ }
</style>

取而代之的是将::v-deep 作为伪元素,并接受其他选择器作为参数。

<style scoped>
.a::v-deep(.b) { /* ... */ }
</style>

为什么要这样变动?

弃用>>>: 因为 >>> 在某些css预编译处理器(如:sass)是不支持的。为了统一写法,直接弃用。

弃用 /deep/: /deep/是vue2.x中>>>替代方案,在 css预编译处理器可以正常使用。但是,***Chrome打算弃用了/deep/组合器,并且在IE中会报错。***所以 Vue3.x 预见性的弃用了/deep/

::v-deep写法的改变:因为 ::v-deep 实际上不是组合器,Vue 认为:相比之前的写法,伪元素的写法更加贴切。

关于这部分更加细致说明,可查看:Deep Selectors

两个新增:全局样式和 slot 样式

全局样式 ::v-global() :global()

在 Vue 2.x scoped styles 的样式只能在局部生效。但是到了 Vue 3.x, 这样的“局面”发生了变化。Vue 3.x 增加了一个全新的伪元素::v-global(),借助::v-global(),我们可以让 scoped styles 中的样式到全局中生效。用法如下:

::v-global(.foo) {}

:global()::v-global()的简写。

在 Vue2.x 如果想要在组件中写全局样式,只能用两个<style>区分开全局样式和局部样式:

<style>
/* 全局样式 */
</style><style scoped>
/* 局部样式 */
</style>

在 Vue 3.x 我们借助 ::v-global()可以直接在 scoped styles 中写全局样式。所以不再需要在一个组件设置两个 <style>。这样整个组件文件看起也更加简洁。

slot 样式:::v-slotted()

Vue 2.x 中,父组件通过 slot 传给子组件的内容是不受子组件局部样式的影响的。到了 Vue 3.x ,我们可以借助新伪元素::v-slotted(),实现子组件控制 slot 的样式。

::v-slotted(.foo) {}

参考文档


本系列目录

  • Vue 3 迁移策略笔记—— 第1节:v-for 中的 Ref 数组

  • Vue 3 迁移策略笔记—— 第2节:Async Components 异步组件

  • Vue 3 迁移策略笔记—— 第3节:Attribute Coercion Behavior (属性强制行为)

  • Vue 3 迁移策略笔记——第4节:$attrs 包括class&style

  • Vue 3 迁移策略笔记—— 第5节:移除 $children

  • Vue 3 迁移策略笔记—— 第6节:自定义指令

  • Vue 3 迁移策略笔记—— 第7节:自定义元素交互

  • Vue 3 迁移策略笔记—— 第8节:Data 选项

  • Vue 3 迁移策略笔记—— 第9节:新增 emits 选项

  • Vue 3 迁移策略笔记—— 第10节:事件 API

  • Vue 3 迁移策略笔记—— 第11节:移除过滤器

  • Vue 3 迁移策略笔记—— 第12节:片段

  • Vue 3 迁移策略笔记—— 第13节:函数式组件

  • Vue 3 迁移策略笔记—— 第14节:全局 API

  • Vue 3 迁移策略笔记—— 第15节:全局 API 的 tree shaking

  • Vue 3 迁移策略笔记—— 第16节:Inline Template 属性

  • Vue 3 迁移策略笔记—— 第17节:Key 属性

  • Vue 3 迁移策略笔记—— 第18节:按键修饰符

  • Vue 3 迁移策略笔记—— 第19节:移除 $listeners

  • Vue 3 迁移策略笔记—— 第20节:Props 的默认值函数不能访问this

  • Vue 3 迁移策略笔记—— 第21节:渲染函数 API

  • Vue 3 迁移策略笔记—— 第22节:Slots 的统一

  • Vue 3 迁移策略笔记—— 第23节:Transition Class 的变化

  • Vue 3 迁移策略笔记—— 第24节:Transition Group 不再需要设置根元素

  • Vue 3 迁移策略笔记—— 第25节:v-on.native修饰符被移除

  • Vue 3 迁移策略笔记—— 第26节:在组件上使用 v-model 的变化

  • Vue 3 迁移策略笔记—— 第27节:v-if 和 v-for 的优先级

  • Vue 3 迁移策略笔记—— 第28节:v-bind 合并行为

  • Vue 3 迁移策略笔记—— 第29节:数组的监听

  • Vue 3 迁移策略笔记—— 第30节:新增功能——Teleport

Vue 3 迁移策略笔记—— 第31节:scoped styles 的变化相关推荐

  1. Vue 3 迁移策略笔记—— 第2节:Async Components 异步组件

    前言 本笔记主要基于官方文档<迁移策略--异步组件>汇总而来.如有理解出入,请以官方文档为主.建议您以官方文档为主,本文为辅.这样您可以"以自己为主"审视的阅读,从而不 ...

  2. Vue 3 迁移策略笔记—— 第30节:新增功能——Teleport

    前言 本笔记主要基于官方文档<Vue 3 教程-Teleort>汇总而来.如有理解出入,请以官方文档为主.建议您以官方文档为主,本文为辅.这样您可以"以自己为主"审视的 ...

  3. Vue 3 迁移策略笔记—— 第22节:Slots 的统一

    前言 本笔记主要基于官方文档<迁移策略-- Slot 统一>汇总而来.如有理解出入,请以官方文档为主.建议您以官方文档为主,本文为辅.这样您可以"以自己为主"审视的阅读 ...

  4. 深度学习笔记(31) 迁移与增强

    深度学习笔记(31) 迁移与增强 1. 迁移学习 2. 大训练集的迁移学习 3. 迁移规律 4. 数据增强 1. 迁移学习 如果要做一个计算机视觉的应用,相比于从头训练权重,或者说从随机初始化权重开始 ...

  5. VUE入门笔记,第二节

    VUE入门笔记,第二节 一.总结以上:实例-表格列表 [目标:实现表格数据的添加.删除和过滤筛选] [解决方案] <!DOCTYPE html> <html lang="e ...

  6. VUE入门笔记,第一节

    VUE入门笔记,第一节 一.MVVM分层思想 M:用来保存每个页面中的单独的数据 V:每个页面中的HTML结构 VM:它是M和V层的调度者,它分割了M和V层,用于处理M和V层的数据双向绑定 二.VUE ...

  7. 几何光学学习笔记(31)- 6.6 光学系统中光能损失的计算

    几何光学学习笔记(31)- 6.6 光学系统中光能损失的计算 6.6 光学系统中光能损失的计算 1. 透射面的反射损失 2. 镀金属层的反射面的吸收损失 3. 透射光学材料内部的吸收损失 4.总述 6 ...

  8. Vue.js 框架基础笔记

    Vue.js 框架基础笔记 1. Vue.js 基本概念 1.1 遇见 Vue.js 1.1.1 为什么要学习 Vue.js 1.1.2 前端开发的复杂化 1.1.3 Vue.js 特点 1.1.4 ...

  9. Vue数据代理+事件处理+事件修饰符的作用+计算属性的使用,尚硅谷Vue系列教程学习笔记(2)

    尚硅谷Vue系列教程学习笔记(2) 参考课程:<尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通> 参考链接:https://www.bilibili.com/video/ ...

最新文章

  1. 2019年,比特币现金爱好者线下见面会发展至6大洲30个国家
  2. Bootstrap4+MySQL前后端综合实训-Day07-AM【ajax局部刷新——(单个/批量)删除用户按钮的实现、更新用户信息按钮的实现】
  3. AIoT五营连开惊喜活动上线!
  4. hibernate 序列_Hibernate身份,序列和表(序列)生成器
  5. (31)Gulp 构建样式文件
  6. 订餐系统jsp模板_java|web|jsp网上订餐系统|餐饮管理|在线点餐外卖网站|源码代码...
  7. 解决window.open被拦截问题
  8. 单链表反转(递归和非递归)
  9. MyBatis学习(三)--MyBatis配置文件简介
  10. Win10内置一台虚拟机的安装
  11. 校园服务微信小程序-跑腿代购,失物招领,二手商城
  12. Matlab中矩阵的平方和矩阵中每个元素的平方介绍
  13. 网站页面篡改及挂马的应急处置
  14. 笔迹心理学(2): 功能设计
  15. fail2ban原理与安装(centos6)
  16. 数字IC后端流程——(三)布局Placement
  17. effective modern cpp
  18. lyse - Errors and Processes
  19. 《文化相对论》:危机重重的世界,对话才能产生转机
  20. 音视频开发之旅(58) -H.264 帧内预测

热门文章

  1. 数据分析:数据分析师学习路径【统计学、SQL、Excel、Python、机器学习】
  2. python有限元传热求解_有限元在传热学中的应用讲解
  3. 机器学习之K近邻算法原理+应用实例
  4. 【SPSS】基础图形的绘制(条形图、折线图、饼图、箱图)详细操作过程
  5. 经典Windows编程书单
  6. win系统JDK卸载和彻底删除
  7. C++对C语言的扩展_引用
  8. WhatsApp营销指南:如何将WhatsApp链接添加到Instagram?
  9. Java物流项目第四天 作业中心服务开发(pd-work)
  10. python字符串定义变量名_python 将字符串作为变量名