1. scoped
为组件实例生成一个唯一标识,给组件中的每个标签对应的dom元素添加一个标签属性,data-v-xxxx 给中的每个选择器的最后一个选择器添加一个属性选择器,原选择器[data-v-xxxx],如:原选择器为.example h1,则更改后选择器为.example h1[data-v-1a161d4c]
<div id="app" data-v-1a161d4c> <div class="example" data-v-1a161d4c> <h1 data-v-1a161d4c>Title</h1> <p data-v-1a161d4c>Content</p> </div></div>
然后通过css属性选择器,使css样式仅作用于当前组件
.example h1[data-v-1a161d4c] { font-size: 20px;}
2. deep (‘>>>’)
作用:可以在父组件中修改子组件非根节点的样式
原理:父组件和子组件都有scoped时,导致编译时的hash对不上,用了样式穿透后,在deep之后的选择器最后就不会加上标识