slot, 슬롯이란
컴포넌트를 랜더링 할 때 html로 작성한 코드가 컴포넌트의 <slot></slot> 부분으로 교체된다.
1. 레이아웃 컴포넌트 만들기
- components/layout/TheLayout.vue
<header>, <footer>는 공통으로 사용하고, <main> 영역만 변경하고 싶어 <slot>을 사용했다.
<template>
<div>
<header>헤더</header>
<main>
<slot/>
</main>
<footer>푸터</footer>
</div>
</template>
<script>
export default {
name: 'TheLayout'
}
</script>
2. 레이아웃 컴포넌트 import 시키기
- pages/index.vue
<h1> 이라고 작성한 부분이 <TheLayout> 컴포넌트의 <slot> 영역으로 교체된다.
<template>
<TheLayout>
<h1>메인 페이지</h1>
</TheLayout>
</template>
<script>
import TheLayout from "@/components/layout/TheLayout"
export default {
name: 'Main',
components: {
TheLayout
}
}
</script>
3. 결과 화면
'Vue, Nuxt > 문법' 카테고리의 다른 글
[Vue/Nuxt] 뷰 v-if, v-else를 사용해 리스트 있고 없을 때 다르게 렌더링하기 (0) | 2023.10.26 |
---|---|
[Vue/Nuxt] 뷰 v-for, 반복문을 이용해 배열 리스트 렌더링하기 (0) | 2023.10.25 |
[Vue/Nuxt] 뷰 props, emit으로 컴포넌트 간에 값 전달하기 (BaseButton 만들기) (0) | 2023.10.25 |
[Vue/Nuxt] 뷰 SASS/SCSS 적용하기 (+ 전역 SCSS) (0) | 2023.10.18 |
[Vue/Nuxt] Nuxt.js 설치 및 프로젝트 생성하기 (0) | 2023.10.13 |