::v-deep 我没找到官网文档,方便给个链接吗?

vue2 老项目,没有使用vue3

但是编译时候提示

image.png

我习惯用 /deep/
官网文档上有说可以啊,
image.png

问题:

我检查了node_modules 没有[@vue-compiler-sfc]包,为什么会这样提示呢?
怎么解决编译时的问题?
此外有没有专门强调 ::v-deep 的文档?

阅读 3k
2 个回答

::v-deep没有文档,就是深度选择器>>>操作符的别名,这是vue-loader文档里提到的。

node-sass 不支持 >>> 语法,推荐改用 /deep/。后来,node-sass 被 deprecated,推荐使用 dart-sass。但 dart-sass 又和 /deep/ 有冲突。所以,如果你使用 vue2 同时又使用 dart-sass,只剩一种选择 ::v-deep

<style scoped>
.a ::v-deep .b {
  /* ... */
}
</style>
现在,你通过 npm i sass 命令安装的既是 dart-sass。

在 vue3 中,::v-deep 写法又被抛弃了,改用 :deep()

<style scoped>
.a :deep(.b) {
  /* ... */
}
</style>

参考资料

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