다음과 같은 간단한 구성 요소가 있습니다.
<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 에서이 대답을 찾았습니다.
어떤 이유로 범위가 지정된 스타일은 구성 요소에 처음 추가 될 때 핫 리로드 중에 적용되지 않습니다. 전체 페이지 다시로드는 스타일이 감지되었으므로 연속 핫 다시로드로 업데이트되는 문제를 해결합니다.
이 대답은 설득력이 없습니다. 어떤 이유로? 어떻게 피하고 문제를 해결합니까? 홈 페이지가로드 될 때 전체 핫 리로드를 어떻게 수행합니까?
페이지를 새로 고침 해 보셨나요? 개발 서버를 다시 실행했지만 여전히 작동하지 않습니까? 누구든지 도울 수 있습니까? 미리 감사드립니다.
이전 의견에서 말했듯이 SCSS
여기에서 사용 하고 타사 구성 요소를 대상으로하기 때문에 이렇게 작성해야합니다.
::v-deep .vdpWithInput input {
// your fancy style here
}
이 특정 구성 요소에서 범위를 지정하고 앱 전체에서 번지지 않도록하는 데 도움이됩니다.
딥 셀렉터를위한 유용한 링크 : https://vue-loader.vuejs.org/guide/scoped-css.html#deep-selectors
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다