首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在VueJS中扩展样式?

如何在VueJS中扩展样式?
EN

Stack Overflow用户
提问于 2018-05-11 17:14:53
回答 1查看 2.4K关注 0票数 0

我有一些基类component base和子组件Child1和Child2。我在基本组件中也有一些基本样式,但我想在子组件中覆盖它。它不能像我预期的那样工作,因为一个子组件的样式覆盖了另一个子组件的样式。

基础组件:

代码语言:javascript
复制
<template>
<div class="communicate">
   Blabla
</div>
</template>

<script lang="ts">
import Vue from 'vue';
import { Component } from 'vue-property-decorator';

@Component ({})
export default class Base extends Vue {}
</script>

<style lang="scss">
//not scoped
.communicate {
   color: red;
}
</style>

子组件1:

代码语言:javascript
复制
<script lang="ts">
import Vue from 'vue';
import { Component } from 'vue-property-decorator';
import Base from './Base.vue';

@Component ({})
export default class Child1 extends Base {}
</script>

<style lang="scss" scoped>
.communicate {
   color: blue;
}
</style>

和类似的Child2组件:

代码语言:javascript
复制
<script lang="ts">
import Vue from 'vue';
import { Component } from 'vue-property-decorator';
import Base from './Base.vue';

@Component ({})
export default class Child2 extends Base {}
</script>

<style lang="scss" scoped>
.communicate {
   color: green;
}
</style>

颜色始终为蓝色,这是Child2组件中的事件。

问候

EN

回答 1

Stack Overflow用户

发布于 2018-08-22 23:27:30

不幸的是,目前这是不可能的。请参阅以下有关vue-loader的问题:https://github.com/vuejs/vue-loader/issues/1003

作为一种解决办法,您可以使用sass预处理器,以便在子组件中重用样式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50288975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档