반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- CSS
- 정보처리기사실기요약
- VUE
- 정보처리기사
- 자바의정석
- 자바스크립트 코딩테스트
- php
- ReactNative
- 코딩테스트
- 리액트
- 정보처리기사실기
- 정보처리기사요약
- 이안의평일코딩
- 정보처리기사실기정리
- 국비IT
- spring
- 오라클
- react
- Oracle
- 스프링
- javascript
- 자스코테
- 자바스크립트
- 국비코딩
- Java의정석
- 평일코딩
- 정보처리기사정리
- typescript
- 리액트네이티브
- 타입스크립트
Archives
- Today
- Total
이안의 평일코딩
[Vue] props 대신 slot을 써보자 본문
반응형
slot으로 부모 -> 자식 데이터 전송법
FilterBox.vue (자식)
<div :class="filter + ' filter-item'" :style="`background-image:url(${image})`">
<slot></slot>
</div>
1. 자식 컴포넌트에서 데이터를 받아오고 싶은 곳에 을 넣는다. (출력될 위치)
Container.vue (부모)
<FilterBox :filter="filter" :image="image" v-for="filter in filters" :key="filter">
<span>{{filter}}</span>
</FilterBox>
2. <컴포넌트></컴포넌트> 태그사이에 데이터를 넣는다.
slot 여러개 사용하기
name 속성을 주면 된다. (복잡하니 그냥 props 쓰자)
FilterBox.vue (자식)
<div>
<slot name="a"></slot>
<slot name="b"></slot>
</div>
1. <slot name="작명"></slot>
Container.vue (부모)
<FilterBox>
<template v-slot:a> 데이터1 </template>
<template v-slot:b> 데이터2 </template>
</FilterBox>
2. <template v-slot:작명>보낼거</template>
slot props
slot 사용할 때 부모가 자식데이터 필요한 경우.
FilterBox.vue (자식)
<template>
<div>
<slot :msg="msg"></slot>
</div>
</template>
<script>
export default {
name : 'filterbox',
data(){
return{
msg : 'hello'
}
},
}
</script>
1. <slot :자식데이터="자식데이터">
Container.vue (부모)
<FilterBox>
<template v-slot:default="작명"> <span>{{작명.msg}}</span> </template>
</FilterBox>
2. 부모는 <template v-slot="작명">{{작명.자식데이터}}</template>
slot의 한계
slot은 HTML에만 가능하고 속성안에는 쓸 수 없다. <div 안에서 <slot></slot>속성으로 못씀>
즉, 간단히 전송하고 싶거나 태그로 담아서 데이터를 전송하고 싶을 때 사용하자.
반응형
'Front-end > Vue' 카테고리의 다른 글
[Vue] Vuex(1) - 설치 및 셋팅 (store.js, $store.state.데이터명) (0) | 2021.05.18 |
---|---|
[Vue] 라이브러리 전역에서 사용하기 (0) | 2021.05.17 |
[Vue] 이미지 업로드 및 불러오기 (0) | 2021.05.14 |
[Vue] 스크롤 시 헤더 색 변경 (0) | 2021.04.27 |
[Vue] 더보기 버튼 기능 구현하기 (axios로 ajax 요청) (0) | 2021.04.19 |
Comments