javascript - vue 组件的scoped 和 scss 的嵌套冲突。

查看:459
本文介绍了javascript - vue 组件的scoped 和 scss 的嵌套冲突。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在vue组件中的样式使用scoped,但是和scss的嵌套有冲突,编译出了错误代码。
vue:组件
<template>

<div class="parent">
    <div class="parent_child"></div>
</div>

</template>
<script></script>
<style scoped lang="scss" rel="stylesheet/scss">

.parent {
    height: 20px;  width: 30px;  background-color: #000;

    &_child {  height: 10px; width: 10px;  background-color: #fff; }
}

</style>

编译出的样式代码:
.parent[data-v-7c164664] {
height: 20px;
width: 30px;
background-color: #000;
}
.parent[data-v-7c164664]_child {
height: 10px;
width: 10px;
background-color: #fff;
}
vue loader
{

  test: /\.vue/,
  loader: 'vue-loader',
  options: {
    loaders: {
      'scss': 'vue-style-loader!css-loader?!postcss-loader!sass-loader',
    }
  }
},

生成出了.parent[data-v-7c164664]_child这种不能用的类

解决方案

因为 'scss': 'vue-style-loader!css-loader?!postcss-loader!sass-loader', css-loader后面多加了个 '?'

这篇关于javascript - vue 组件的scoped 和 scss 的嵌套冲突。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆