부모, 자식 컴포넌트 props

keep_going·2023년 4월 28일
0

문제해결

목록 보기
16/36
  1. 부모->자식
  • 부모 컴포넌트
<div class="review_list">
  <div class="review_main" v-for="(tmp, i) in state.reviewRows" :key="i">
    <img v-if="tmp.mainImageDiv === 1" @click="showModal = true" :src="tmp.imagePath" class="review_main_img">
      </div>
</div>      
// 모달 영역
<div v-if="showModal">
  <review-modal :show="showModal" @close="showModal = false" />
</div>

:show="showModal" 이 tru이면 if처럼 보여지는건줄 착각했으나
이것의 의미는...
자식 컴포넌트에 show 라는 변수에 부모 컴포넌트의 showModal 값을 할당한다는것

  • 자식 컴포넌트
props: {
  show: {
    type: Boolean,
      default: false, // 초기값을 false로 설정
        required: true
  }
}

그런데 자식 컴포넌트에서는 show값을 받더라도 사용하는데가 없거든.. 그래서 props를 주석처리 해도 아무 문제 없었던것.
모달창 코드에서는 부모->자식으로 필요한건 없고... 모달창을 닫을때 자식->부모로 전달해야함

  1. 자식->부모
    모달창에서 닫기 버튼을 눌렀을때 모달창을 닫고 싶으면 부모 컴포넌트에 있는 showModal 값을 false로 줘야한다.
profile
keep going

0개의 댓글