반응형
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> {{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> {{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 |