slot은 vue의 좋은 기능중 하나로 컴포넌트를 재사용하기 굉장히 좋습니다.
Vue 공식사이트의 모달 컴포넌트를 가져온 코드입니다.
https://kr.vuejs.org/v2/examples/modal.html
<!-- Modal.vue -->
<transition name="modal">
<div class="modal-mask">
<div class="modal-wrapper">
<div class="modal-container">
<div class="modal-header">
<slot name="header">default header</slot>
</div>
<div class="modal-body">
<slot name="body">default body</slot>
</div>
</div>
</div>
</div>
</transition>
slot에 name을 정의하고 상위 컴포넌트에서 재사용하고 내용을 재정의 할 수 있습니다.
<Modal v-if="showModal">
<!--
you can use custom content here to overwrite
default content
-->
<h3 slot="header">
경고!!
<i class="fas fa-times" @click="showModal = false"></i>
</h3>
<p slot="body">내용을 입력하세요.</p>
</Modal>
반응형
'Vue' 카테고리의 다른 글
Vue 환경변수 (0) | 2021.09.07 |
---|---|
vue.js axios 예제 (2) | 2020.01.13 |
vuex, router로 영화 앱 만들기 예제 (4) | 2020.01.06 |
같은 컴포넌트 레벨의 통신방법 (0) | 2019.10.30 |
Vue.js에 대해 (0) | 2019.09.25 |