vue中的scoped对slot不起作用吗?

我在使用vue的插槽时,发现一个问题。

我先将提供插槽的组件叫做父组件,向父组件的插槽插入内容的组件叫做子组件。

父子组件我都对style标签使用了scoped标记,按理来说,父子组件是不同的.vue文件,使用scoped后,两个组件中的同名class应该不会相互影响。

但事实并非如此,查看dom结构也可以看到,子组件中的标签有两个“data-v-”属性,其中有一个和父组件相等,这表明父组件中和子组件同名的class会污染子组件的渲染!

这是怎么回事,翻遍了官方文档,没有对这个问题有任何特殊的描述。但它看起来确实没有到达scoped属性预期的工作效果。

clipboard.png

阅读 3.1k
1 个回答

从 vue-loader 9.x 开始,父组件的 scoped 样式会作用在 slot 里的内容上。详情见 https://github.com/vuejs/vue-...。翻了下文档好像的确没有提起这件事,你可以在那个 issue 下面评论建议他们把这条加到文档里去

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题