【发布时间】:2018-05-01 08:06:30
【问题描述】:
我正在使用 Vue.js 和 CSS 组件构建一个应用程序。有一些 Vue 组件,它们共享共同的样式。
你好.vue:
<template>
<div :class="$style.title">Hello, World</div>
</template>
<script>
export default {}
</script>
<style module src="./common.css"></style>
再见.vue:
<template>
<div :class="$style.title">Goodbye, cruel world.</div>
</template>
<script>
export default {}
</script>
<style module src="./common.css"></style>
common.css:
.title {
font-weight: bold;
}
当我编译和运行这段代码时,有一个重复的 CSS 类(._2miFMUAEBLdLB9wHpgrYF2):
Screenshot: Duplicated CSS classes
我该如何解决这个重复?
完整的代码在这里:https://github.com/ryo-utsunomiya/css-modules-common-style
【问题讨论】:
-
只是猜测:在使用组件的页面中包含 CSS 文件,而不是在组件本身中?
-
感谢您的建议。实际上,$style 的作用域是组件。我们必须以某种方式将父组件的 $style 注入子组件(就像 Bill Criswell 的想法:
this.$commonStyles)。
标签: javascript css vue.js