1

本帖分享歌曲:步履不停 - 陈鸿宇

见多才能识广,如果在vue的项目中有看到 >>>或/deep/或::v-deep,千万不要大惊小怪,那只是因为你孤陋寡闻而已,问主管,他也只会在心里暗自嘀咕你太无知了,哈哈哈哈。

其实vue的官网文档中也有过介绍,你不知道只能怪自己懒惰!!!

官网链接:vue-loader.vuejs.org/zh/guide/sc…

深度作用选择器:

如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符:

<style scoped>
.a >>> .b { /* ... */ }
</style>
复制代码

上述代码将会编译成:

.a[data-v-f3f3eg9] .b { /* ... */ }
复制代码

有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/::v-deep 操作符取而代之——两者都是 >>> 的别名,同样可以正常工作。

总结使用场景:

当我们需要覆盖element-ui中的样式时只能通过深度作用选择器

style为css时的写法如下:

.a >>> .b {

***

}

style使用css的预处理器(less, sass, scss)的写法如下:

第一种/deep/

/deep/ .a {

***

}

第二种::v-deep

::v-deep .a{

***

}

建议使用第二种方式,/deep/在某些时候会报错,::v-deep更保险并且编译速度更快。

以上使用场景来自于脚本之家的同类文章的作者柳慕笙,感谢。

www.jb51.net/article/188…


Oscarwillberich
8 声望0 粉丝

误入前端渴望从事艺术摄影的英语生