인프런 커뮤니티 질문&답변

전민호님의 프로필 이미지
전민호

작성한 질문수

Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념

Component with Slots 구현 방법과 활용처

SLOT관련해서 질문드려요

해결된 질문

작성

·

175

1

아래 코드와 같이 item.vue파일에서 슬롯을 이름으로 구분해놓고, app.vue에서 슬롯이름별로 값 넣어줬는데

화면에 표시가 안되네요. 

//item.vue
<template>
  <li>
    <slot name="kkk">
      <!-- NOTE: 등록하는 곳에서 정의할 화면 영역 -->
    </slot>
    <slot name="ddd"></slot>
  </li>
</template>
<script>
export default {};
</script>

//app.vue
<template>
  <div>
    <ul>
      <item slot="kkk">아이템 1</item>
      <item slot="kkk">
        아이템 2
        <button style="color:red">click</button>
      </item>
      <item slot="ddd">아이템 3</item>
      <item slot="ddd">아이템 4</item>
      <item slot="kkk">아이템 5</item>
    </ul>
  </div>
</template>

<script>
import Item from "./Item.vue";

export default {
  components: {
    Item
  }
};
</script>

답변 2

1

전민호님의 프로필 이미지
전민호
질문자

친절한 답변 감사합니다 ^^

1

안녕하세요 민호님, 지금 작성하신 코드는 컴포넌트 태그의 속성에 "slot"을 넣으셨네요. 슬롯은 컴포넌트 태그의 안에 별도로 슬롯에 들어갈 태그를 작성해주셔야 합니다..!

<Item>
  <p slot="kkk">무언가</p>
</Item>

이 글 한번 참고해보세요. 강의 수강해주셔서 감사합니다 :)

https://joshua1988.github.io/web-development/vuejs/slots/

전민호님의 프로필 이미지
전민호

작성한 질문수

질문하기