FrontEnd/Vue3

Vue3 To do list 만들기 (6) props 부모->자식 데이터 전송

2022. 6. 23. 14:33
반응형

먼저 기존 App.vue에 있던 ul을 components 안에 todoList.vue 를 새로 생성하고 옮겨준다

<template>
  <ul class="list-group " 
v-for="(i,index) in todolist" 
v-bind:key="i.id">
<li class="list-group-item d-flex align-items-center mt-2">
  <div class="form-check flex-grow-1">
      <input class="CheckInput"
         v-model="i.isdone"
         type="checkbox">
          <label class="checkLabel"
          :class="{todoStyle:i.isdone}"
          >{{i.sbj}} </label>
  </div>
  <div>
    <button class= "btn btn-danger btn-sm"
    @click="deleteitem(index)">삭제</button>
  </div>
</li>

</ul>
</template>

<script>
export default {
   
}
</script>

<style>

</style>
//components/TodoList.vue

부모 컴포넌트에 경로를 import해주고, 컴포넌트역시 등록해준다

import TodoList from './components/TodoList.vue';

//현재 등록된 컴포넌트는 TodoForm과 TodoList 자식 컴포넌트가 두개 있음을 뜻함
components:{
  TodoForm,TodoList
},

App.vue의 본문에서

<TodoList :todolist="todolist"/>

컴포넌트 사용을 하는데

이때 :todolist는 자식컴포넌트로 보낼때의 이름 뒤의 todolist는 부모 컴포넌트에서 사용중인 함수 또는 변수(여기서는 배열 변수이다)

자식 컴포넌트인 TodoList.vue로 돌아가서

props:['todolist']//받아오는 이름 + 위에서 사용하는 이름 props는 return역할을 함께함

스크립트 안에 단순히 부모쪽에서 보낸 todolist 배열을 받는걸로도 할 수 있지만,

props를 객체로 만들수도있다

공식홈페이지 props 문서

<script>
export default {
    props:{
        todolist:{ //받아올 그리고 자식컴포넌트에서 사용될 변수or함수명
            type: Array, //타입설정
            required: true, //필수인지 아닌지
        }
    }
}
</script>

이때 잘 모르고 앞서 부모 컴포넌트에서 <TodoList :ㅇㅇ="ㅁㅁ" /> 부분을 작성할때

ㅇㅇ가 자식으로 보낼때 명칭이라하여 todoListapp ="todolist" 로 하여 받았는데 안되길래 뭐가 문젤까 하다가

props를 사용하면 return이 따로 없어, 그 명칭 그대로 본문에서도 사용하기 때문에 안된것이다 (자식컴포 본문에서 todolist를 사용중) 따라서 부모에서 todoListapp으로 보낼거였으면 자식컴포넌트 TodoList.vue에서의 변수명을 다 바꿨어야 했던것

반응형
저작자표시 비영리 (새창열림)

'FrontEnd > Vue3' 카테고리의 다른 글

Vue3 To do list 만들기 (8) 검색기능 추가하기  (0) 2022.06.24
Vue3 To do list 만들기 (7) props 주의사항  (0) 2022.06.24
Vue3 To do list 만들기 (5) 데이터 emit (자식 컴포넌트 ->부모 컴포넌트)  (0) 2022.06.21
Vue3 컴포넌트 만들기  (0) 2022.06.21
Vue3 To do list 만들기 (4) 버튼으로 배열 삭제 하기  (0) 2022.06.21
'FrontEnd/Vue3' 카테고리의 다른 글
  • Vue3 To do list 만들기 (8) 검색기능 추가하기
  • Vue3 To do list 만들기 (7) props 주의사항
  • Vue3 To do list 만들기 (5) 데이터 emit (자식 컴포넌트 ->부모 컴포넌트)
  • Vue3 컴포넌트 만들기
빡상이
빡상이
게임 및 개발 관련 일지 작성하는 블로그
빡상이
끄적끄적
빡상이
반응형
  • 분류 전체보기
    • FrontEnd
      • Vue3
      • Nuxt
    • BackEnd
      • 로스트아크 Work
    • 백준(알고리즘)
    • Unreal Engine
    • 아크라시아 세카이
    • C++
    • 웹 개발 꿀팁
    • C#
    • Linux
      • 명령어
    • DB
      • SQL
      • Tibero
전체
오늘
어제

최근 댓글

최근 글

hELLO · Designed By 정상우.
빡상이
Vue3 To do list 만들기 (6) props 부모->자식 데이터 전송
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.