비동기적으로 데이터를 가져온 값 통신으로 보내기
373
작성한 질문수 20
안녕하세요. 비동기 통신과 관련하여 질문이 있어 글을 남기게 되었습니다.
Promise 객체를 공부하면서 활용 목적으로 해당 코드를 짜보았는데요.
만들고자 한것은 app-content에서 비동기 통신으로 객체를 받아온 후, same level component에게 message 객체를 보내려고 한 것입니다.
코드를 실행해본 결과 app-content 컴포넌트를 통해 this.message에 값이 담긴것을 확인했는데요.
passMessage 이벤트로 this.message를 찍어보면 ''로 찍힙니다.
비동기 통신을 제대로 활용하지 못해 값이 안담긴 건지요?
그리고 getMesssage().then( this.$emit('pass',this.message); ) 를 해보니까 이벤트 발생이 안된다고 뜨더라구요.
2가지 해결책 부탁드립니다.
항상 좋은 강의 감사합니다!!
답변 1
0
안녕하세요 현탁님, 좋은 질문이네요. 자바스크립트의 비동기 처리와 함께 실행 컨텍스트(this)를 잘 여쭤보신 것 같습니다. 바로 답변부터 드리면 해당 코드에서 참고하고 있는 `this`가 컴포넌트의 인스턴스를 가리키고 있지 않습니다. 해당 내용은 글로 설명하기 어려울 정도로 방대한 분량이기 때문에 `this`를 접근하는 곳에서 모두 콘솔로 `this`를 찍어서 직접 눈으로 보시면서 왜 저렇게 찍히는지 따라가 보시면 좋을 것 같습니다. 관련해서 학습하실 수 있는 글 3개 남겨드릴게요.
나머지 강의도 재밌게 들으시구요 :)
개발자 툴에서 Vue가 표시되지 않는 현상.
0
93
2
chrome 확장 devtools 버전 문제
0
81
1
Vue.js not detected가 자꾸 뜹니다
0
83
2
마지막 강의가 안되요
0
57
1
data, computed, watch > Reactivity
0
51
1
f12누르고 개발자도구에 vue 탭이 안생겨요
0
89
1
vue composition api
0
73
1
강의 자료 다운이 될까요?
0
128
1
개발자 도구에서 뷰탭이 안보여요....
0
586
3
프롭스 데이터 질문입니다.
0
113
1
component.html:11 Uncaught ReferenceError: Vue is not defined at component.html:11:20 (anonymous) @ component.html:11
0
140
1
화면이 안떠요,, 이전 이후 강의는 뜨는데..
0
236
6
크롬 확장 프로그램 vue devtools 설치했는데
0
532
2
코드를 수정하고 브라우저의 Vue로 넘어가면 다운이 됩니다.
0
243
1
버튼을 클릭해도 event가 발생하지 않습니다.
0
310
1
vue3 css 경로 표시 문의
1
231
2
개발자도구 vue탭
0
356
1
화면 코드 보기
1
226
2
App.vue 내용 변경했는데 창이 연결할수없대요ㅜㅜ
1
384
2
html/css/js로 작성된 코드를 vue.js로 일부 전환하고자 이 강의를 듣기 시작했습니다.
1
886
2
{{ num }} 이 <app-content> 아래에 들어가 있을때에는 노출이 안됩니다...
1
288
2
뷰 개발자도구 이벤트 타임라인 어느 부분에서 확인가능한건가요
1
401
2
다음 단계 강의는...?
1
387
2
버튼을 눌러도 data의 값이 변경되지 않습니다
1
277
2





