먼저 Modal.vue에서 props로 App.vue의 데이터를 가져왔다.
근데 props로 가져온 데이터는 수정을 할 수가 없음.
그럼 Modal.vue에서 App.vue의 데이터를 수정하고 싶을때는?
custom event를 사용하자. Modal.vue 에서 App.vue에 메세지를 보내는것임.
Lists.vue에서
App.vue에서
lists.vue에서 opanModal이라는 이벤트가 오면 modalStatus를
여기서 데이터도 전해질수 있는데
이런식으로 원하는 데이터를 옆에 적고 보내면
$event로 데이터를 가져올수있음.
모달창 닫기버튼
Modal.vue
App,vue
# 이미지 클릭으로 바꿨음
해석 : 태그를 클릭하면 openModal이란 이벤트와 app.vue에 product.id라는 데이터를 보낼거임.
app.vue에서
해석 : openModal이벤트가 작동하면 modalStatus는 1로 변하고 now는 $event로 바뀔거임.
$event는 아까 lists.vue에서 보낸 product.id라는 데이터임.
여기서 닫기버튼은 모달에서 만져줘야함.
modal.vue에서
해석 : 버튼이 클릭되면 closeModal이라는 이벤트로 0값을 보낼거임.
app.vue에서
closeModal이라는 이벤트가 작동하면 modalStatus는 $event로 변할거임
$event는 아까 modal.vue에서 보낸 0이라는 데이터임.
++추가해서
app.vue에서
v-for으로 반복문을 돌렸는데 props로 데이터를 보내준건
:products[i]의 객체값을 products라는 이름으로 보내줌.
list.vue에서
products라는 데이터이름으로 받아온 객체가 들어가고
template에서 쓸 수 있게된거임.
파일 옮겨다닐때 뇌가리 회로가 막히는듯 ㅡㅡ
'javaScript > vueJs' 카테고리의 다른 글
vue js 기본 // 라우터 (0) | 2022.07.28 |
---|---|
vue js 기본 // multi word 에러 (0) | 2022.07.28 |
vueJsvue js 기본 // 인풋창 & watch (0) | 2022.07.09 |
vueJsvue js 기본 // 컴포넌트 & 프롭스 (0) | 2022.07.05 |
vue js 기본 // 시작전 복습 프로젝트 생성, v-if, v-for, 데이터바인딩, 함수, 이벤트 (0) | 2022.07.04 |