Vue中使用/deep/bug
Posted
技术标签:
【中文标题】Vue中使用/deep/bug【英文标题】:Use / deep / bug in Vue 【发布时间】:2019-09-15 15:10:56 【问题描述】:我在vue-lic3中使用了SCSS,但是有一个奇怪的bug,使用/deep/会报错,我不想看到。
代码运行环境 vue-cli3 + vant + scss
css
/deep/ .van-tabs__content.van-tabs__content--animated,
.van-tabs--line,
.van-pull-refresh,
.van-pull-refresh__track
height: 100%;
vue.config.js
css:
loaderOptions:
sass:
data: `@import "~@/style/module.scss";`
,
错误
Failed to compile with 1 errors 14:14:46
error in ./src/views/RankingList.vue?vue&type=style&index=0&lang=scss&
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
.van-tabs--line,
^
Expected selector.
╷
274 │ /deep/ .van-tabs__content.van-tabs__content--animated,
│ ^
╵
stdin 274:3 root stylesheet
in F:\web\project-a\src\views\RankingList.vue (line 274, column 3)
@ ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/RankingList.vue?vue&type=style&index=0&lang=scss& 4:14-444 14:3-18:5 15:22-452
@ ./src/views/RankingList.vue?vue&type=style&index=0&lang=scss&
@ ./src/views/RankingList.vue
@ ./src/router.js
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://192.168.100.15:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main.js
【问题讨论】:
似乎用vue应该可以工作>>>
或::v-deep
docs
【参考方案1】:
对我来说 /deep/
不会编译。
我用::v-deep
:
.scoped-element
color:white;
::v-deep .child-of-scoped-element
color: black;
或者
.scoped-element::v-deep.child-of-scoped-element
color: black;
【讨论】:
【参考方案2】:在我的项目中,我使用下一个语法.class__name /deep/ .class_i_want_to_change
,它工作正常。你试过了吗?
【讨论】:
这个css代码是所有css文件的开始吗?因为我认为,您不能只在*** lvl 上使用 /deep/。另外,您是否尝试过::v-deep
,就像在 Vue 中一样 doc以上是关于Vue中使用/deep/bug的主要内容,如果未能解决你的问题,请参考以下文章