패스잇
프론트엔드 개발 · 중급

Vue 컴포넌트에서 'slot'을 사용하는 목적은 무엇이며, 'named slot'과 'scoped slot'의 차이점을 구체적인 예시와 함께 설명해주세요.

힌트 · slot은 컴포넌트 콘텐츠 배포를 위한 것입니다. named slot은 특정 위치에 콘텐츠를, scoped slot은 자식 컴포넌트의 데이터를 부모에서 렌더링할 때 사용합니다.

컴포넌트 재사용성컨텐츠 주입named slotscoped slotprops 전달

모범답안

Vue 컴포넌트에서 slot을 사용하는 주된 목적은 컴포넌트의 재사용성을 높이고, 부모 컴포넌트에서 자식 컴포넌트의 특정 영역에 원하는 콘텐츠를 삽입할 수 있도록 하기 위함입니다.

named slot은 컴포넌트 내의 특정 위치에 콘텐츠를 넣고 싶을 때 사용합니다. 예를 들어, <template v-slot:header>와 같이 이름을 지정하여 해당 슬롯에 맞는 콘텐츠를 삽입할 수 있습니다.

scoped slot은 자식 컴포넌트의 데이터를 부모 컴포넌트에서 렌더링하고 싶을 때 사용합니다. 자식 컴포넌트에서 slot에 데이터를 바인딩하여 부모 컴포넌트로 전달하고, 부모 컴포넌트에서는 이 데이터를 활용하여 슬롯 콘텐츠를 렌더링할 수 있습니다. 이를 통해 자식 컴포넌트의 로직과 데이터를 활용하면서도 UI는 부모 컴포넌트에서 제어할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Vue.js / Nuxt 면접 질문

← Vue.js / Nuxt 면접 질문 전체 보기