Vue中scoped使用步骤解析

这次给大家带来Vue中scoped使用步骤解析,Vue中scoped使用的注意事项有哪些,下面就是实战案例,一起来看一下。

何为scoped?

在vue文件中的style标签上,有一个特殊的属性:scoped。当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组件元素。通过该属性,可以使得组件之间的样式不互相污染。如果一个项目中的所有style标签全部加上了scoped,相当于实现了样式的模块化。

scoped的实现原理

vue中的scoped属性的效果主要通过PostCSS转译实现,如下是转译前的vue代码:

.example { color: red;} 

hi

登录后复制

转译后:

.example[data-v-5558831a] { color: red;} 

hi

登录后复制

即:PostCSS给一个组件中的所有dom添加了一个独一无二的动态属性,然后,给CSS选择器额外添加一个对应的属性选择器来选择该组件中dom,这种做法使得样式只作用于含有该属性的dom——组件内部dom。

为什么需要穿透scoped?

scoped看起来很美,但是,在很多项目中,会出现这么一种情况,即:引用了第三方组件,需要在组件中局部修改第三方组件的样式,而又不想去除scoped属性造成组件之间的样式污染。此时只能通过特殊的方式,穿透scoped。

 外层 >>> 第三方组件 {  样式 }

登录后复制

通过 >>> 可以使得在使用scoped属性的情况下,穿透scoped,修改其他组件的值。

曲线救国的方法

其实,还拥有一种曲线救国的方法,即在定义一个含有scoped属性的style标签之外,再定义一个不含有scoped属性的style标签,即在一个vue组件中定义一个全局的style标签,一个含有作用域的style标签:

/* global styles *//* local styles */

登录后复制

此时,你只需要将修改第三方样式的css写在第一个style中即可。

个人推荐的方法

以上两种方法,穿透方法实际上违反了scoped属性的意义,曲线救国的方法又使得代码太过于难看。

个人推荐第三种方法,即:由于scoped看起来很美好,但是含有很多的坑,所以,不推荐不使用scoped属性,而通过在外层dom上添加唯一的class来区分不同组件。这种方法既实现了类似于scoped的效果,又方便修改各种第三方组件的样式,代码看起来也相对舒适。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

webpack搭建react开发环境步骤详解

npm 安装删除模块步骤详解

以上就是Vue中scoped使用步骤解析的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2760357.html

(0)
上一篇 2025年3月8日 09:08:02
下一篇 2025年3月8日 09:08:07

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Vue2x图片预览插件使用步骤详解

    这次给大家带来Vue2x图片预览插件使用步骤详解,Vue2x图片预览插件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 先来看下Demo LiveDemo 关于开发Vue插件的几种方式 (具体请移步官网)Vue官网 MyPlugin…

    2025年3月8日
    200
  • jQuery 能做什么?

    本篇对jquery的使用做出了相关的总结。 jQuery是一个小巧的,快速的,功能强大的JavaScript库。它通过一些易用的API简化了许多事情,例如:DOM操作、事件监听、动画、AJAX等等。jQuery能做的事情,原生JS都能做到,…

    编程技术 2025年3月8日
    200
  • Django框架如何使用ajax的post方法(图文教程)

    Django是一个开放源代码的Web应用框架,由Python写成,本文给大家介绍Django框架如何使用ajax的post方法,感兴趣的朋友一起来学习学习吧 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软…

    编程技术 2025年3月8日
    200
  • 垃圾回收器使用详解

    这次给大家带来垃圾回收器使用详解,垃圾回收器使用的注意事项有哪些,下面就是实战案例,一起来看一下。 垃圾回收器是一把十足的双刃剑。其好处是可以大幅简化程序的内存管理代码,因为内存管理无需程序员来操作,由此也减少了(但没有根除)长时间运转的程…

    编程技术 2025年3月8日
    200
  • Vue拖拽组件开发步骤解析

    这次给大家带来Vue拖拽组件开发步骤解析,Vue拖拽组件开发的注意事项有哪些,下面就是实战案例,一起来看一下。 为什么选择Vue? 主要原因:对于前端开发来说,兼容性是我们必须要考虑的问题之一。我们的项目不需要兼容低版本浏览器。项目本身也是…

    2025年3月8日 编程技术
    200
  • 解析Vue.js下载方式及使用步骤

    这次给大家带来解析Vue.js下载方式及使用步骤,解析Vue.js下载方式及使用的注意事项有哪些,下面就是实战案例,一起来看一下。 vue.js是什么? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。…

    编程技术 2025年3月8日
    200
  • Angular路由守卫使用步骤详解

    这次给大家带来Angular路由守卫使用步骤详解,Angular路由守卫使用的注意事项有哪些,下面就是实战案例,一起来看一下。 一、路由守卫 当用户满足一定条件才被允许进入或者离开一个路由。 路由守卫场景: 只有当用户登录并拥有某些权限的时…

    2025年3月8日 编程技术
    200
  • vuex与组件联合使用步骤详解

    这次给大家带来vuex与组件联合使用步骤详解,vuex与组件联合使用的注意事项有哪些,下面就是实战案例,一起来看一下。 官方定义: Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。我的理解就是,vuex就是前端的数据库。 1…

    2025年3月8日 编程技术
    200
  • JS Promise案例代码解析

    这次给大家带来JS Promise案例代码解析,JS Promise案例代码解析的注意事项有哪些,下面就是实战案例,一起来看一下。 1、约定 本文的 demo 代码有些是伪代码,不可以直接执行。 没有特殊说明,本文所有 demo 都是基于 …

    2025年3月8日
    200
  • VeeValidate在vue项目里表单校验使用案例代码分析

    这次给大家带来VeeValidate在vue项目里表单校验使用案例代码分析,VeeValidate在vue项目里表单校验使用的注意事项有哪些,下面就是实战案例,一起来看一下。 VeeValidate是什么: VeeValidate是Vue.…

    2025年3月8日
    200

发表回复

登录后才能评论