본문 바로가기
개발(라이브러리,프레임워크)/vue.js

슬롯(slot)

by zieunee 2020. 11. 26.
반응형

slot

props 와 emit은 편리하지만 속성으로 전달해야할 정보가 HTML태그가 포함된거면 사용하기 쉽지 않음

 

슬롯 사용법

<slot></slot>

태그 작성하고 부모컴포넌트에서는 콘텐츠 영역에 자식 컴포넌트의 <slot></slot> 영역에 나타낼 HTML마크업을 작성하면 됨

 

명명된 슬롯

//childComponents.vue
<template>
<div class="text" :class="{marquee:showTxt}">
    <slot name = "content_1"></slot>
    <span>
       <slot name = "content_2"></slot>
    </span>
</div>
</template>
//Main.vue
<childComponents :showTxt="showTxt" :bannerInfo="{txtColor, bgColor}">
        <div slot ="content_1"> {{this.firLine}} <br> 이렇게 말해보세요! </div>
        <div slot = "content_2">“{{this.callName}},<br>&nbsp; {{this.secLine}}” </div>
    </childComponents>

slot 에 name을 부여해 해당 html전체를 원하는 곳에 붙여 레이아웃 구성

 

 

이런 것을 위에 것으로 재사용 할 수 있게 만든것! 

//childComponents.vue
<template>
<div class="text" :class="{marquee:showTxt}">
    <div> {{this.firLine}} <br> 이렇게 말해보세요! </div>
    <span>
     	<div>“{{this.callName}},<br>&nbsp; {{this.secLine}}” </div>
    </span>
</div>
</template>

 

반응형

'개발(라이브러리,프레임워크) > vue.js' 카테고리의 다른 글

환경 변수 (env)  (0) 2021.06.26
vsCode 저장 시 자동정렬 해제  (0) 2021.04.19
computed / watch  (0) 2020.11.25
vue 에서 proxy 설정으로 CORS 해결  (2) 2020.06.19
Vue 인스턴스  (0) 2020.05.28