【发布时间】:2021-04-25 16:45:28
【问题描述】:
我有以下简单的组件:
<template>
<div>
<b-form-group label="From:" label-align="left" label-for="nested-from">
<date-pick :displayFormat="'DD/MM/YYYY'" v-model.trim="search_form.date_from"></date-pick>
</b-form-group>
</b-col>
</div>
</template>
<script>
export default {
name: 'simpleComp'
}
</script>
<style scoped lang="scss">
@import "~vue-date-pick/src/vueDatePick.scss";
.vdpComponent.vdpWithInput > input {
@extend .form-control !optional;
display: block;
border: 5px solid blue !important;
width: 100%;
height: calc(1.5em + 0.75rem + 2px);
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: 0.25rem;
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
</style>
这是控制台上的截图:
这只是一个大项目的示例,基本上我的组件中有一个输入并且样式不会应用到它,但是如果我删除scoped,那么一切都会回到正轨,但我想保持它在作用域级别。
我搜索了一下,从 SO 中找到了这个答案:
由于某种原因,首次将作用域样式添加到组件时,它们不会在热重载期间应用。整页重新加载解决了这个问题,从那里样式,因为它们已被检测到,通过连续的热重新加载来更新。
这个答案没有说服力,请问是什么原因?以及如何避免它并解决问题?主页加载时如何进行完全热重载?
我尝试刷新页面?重新运行开发服务器,但仍然没有工作?任何人都可以帮忙吗?提前致谢。
【问题讨论】:
-
您是否尝试过使用
class或id选择器来应用样式? -
是的,到目前为止我都试过了
-
试试
display: inline-block!important -
我试过这个`边框:5px纯蓝色!重要;`它不起作用。但是如果我从控制台应用这种样式,它可以在没有
important的情况下工作。 -
请提供完整代码以便我们查看。您作为示例提供的代码没有任何范围或子组件深度选择器问题。