Vue 3 迁移策略笔记—— 第31节:scoped styles 的变化
前言
本笔记主要基于官方文档《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 的变化相关推荐
- Vue 3 迁移策略笔记—— 第2节:Async Components 异步组件
前言 本笔记主要基于官方文档<迁移策略--异步组件>汇总而来.如有理解出入,请以官方文档为主.建议您以官方文档为主,本文为辅.这样您可以"以自己为主"审视的阅读,从而不 ...
- Vue 3 迁移策略笔记—— 第30节:新增功能——Teleport
前言 本笔记主要基于官方文档<Vue 3 教程-Teleort>汇总而来.如有理解出入,请以官方文档为主.建议您以官方文档为主,本文为辅.这样您可以"以自己为主"审视的 ...
- Vue 3 迁移策略笔记—— 第22节:Slots 的统一
前言 本笔记主要基于官方文档<迁移策略-- Slot 统一>汇总而来.如有理解出入,请以官方文档为主.建议您以官方文档为主,本文为辅.这样您可以"以自己为主"审视的阅读 ...
- 深度学习笔记(31) 迁移与增强
深度学习笔记(31) 迁移与增强 1. 迁移学习 2. 大训练集的迁移学习 3. 迁移规律 4. 数据增强 1. 迁移学习 如果要做一个计算机视觉的应用,相比于从头训练权重,或者说从随机初始化权重开始 ...
- VUE入门笔记,第二节
VUE入门笔记,第二节 一.总结以上:实例-表格列表 [目标:实现表格数据的添加.删除和过滤筛选] [解决方案] <!DOCTYPE html> <html lang="e ...
- VUE入门笔记,第一节
VUE入门笔记,第一节 一.MVVM分层思想 M:用来保存每个页面中的单独的数据 V:每个页面中的HTML结构 VM:它是M和V层的调度者,它分割了M和V层,用于处理M和V层的数据双向绑定 二.VUE ...
- 几何光学学习笔记(31)- 6.6 光学系统中光能损失的计算
几何光学学习笔记(31)- 6.6 光学系统中光能损失的计算 6.6 光学系统中光能损失的计算 1. 透射面的反射损失 2. 镀金属层的反射面的吸收损失 3. 透射光学材料内部的吸收损失 4.总述 6 ...
- 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 ...
- Vue数据代理+事件处理+事件修饰符的作用+计算属性的使用,尚硅谷Vue系列教程学习笔记(2)
尚硅谷Vue系列教程学习笔记(2) 参考课程:<尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通> 参考链接:https://www.bilibili.com/video/ ...
最新文章
- 2019年,比特币现金爱好者线下见面会发展至6大洲30个国家
- Bootstrap4+MySQL前后端综合实训-Day07-AM【ajax局部刷新——(单个/批量)删除用户按钮的实现、更新用户信息按钮的实现】
- AIoT五营连开惊喜活动上线!
- hibernate 序列_Hibernate身份,序列和表(序列)生成器
- (31)Gulp 构建样式文件
- 订餐系统jsp模板_java|web|jsp网上订餐系统|餐饮管理|在线点餐外卖网站|源码代码...
- 解决window.open被拦截问题
- 单链表反转(递归和非递归)
- MyBatis学习(三)--MyBatis配置文件简介
- Win10内置一台虚拟机的安装
- 校园服务微信小程序-跑腿代购,失物招领,二手商城
- Matlab中矩阵的平方和矩阵中每个元素的平方介绍
- 网站页面篡改及挂马的应急处置
- 笔迹心理学(2): 功能设计
- fail2ban原理与安装(centos6)
- 数字IC后端流程——(三)布局Placement
- effective modern cpp
- lyse - Errors and Processes
- 《文化相对论》:危机重重的世界,对话才能产生转机
- 音视频开发之旅(58) -H.264 帧内预测
热门文章
- 数据分析:数据分析师学习路径【统计学、SQL、Excel、Python、机器学习】
- python有限元传热求解_有限元在传热学中的应用讲解
- 机器学习之K近邻算法原理+应用实例
- 【SPSS】基础图形的绘制(条形图、折线图、饼图、箱图)详细操作过程
- 经典Windows编程书单
- win系统JDK卸载和彻底删除
- C++对C语言的扩展_引用
- WhatsApp营销指南:如何将WhatsApp链接添加到Instagram?
- Java物流项目第四天 作业中心服务开发(pd-work)
- python字符串定义变量名_python 将字符串作为变量名