해결된 질문
작성
·
559
1
답변 3
1
답변 감사합니다. 선생님.
답변 주신 내용은 강의에 있는 내용이라 그걸 들어도 이해가 안되서요...
혹시 제 질문 (1), (2), (3) 에 답변을 달아 주시면 제가 좀 더 잘 이해할 수 있을 거 같습니다만.
0
안녕하세요 혜정님, 좋은 질문 주셨네요 :) fetch와 asyncData의 가장 큰 차이점은 페이지의 진입을 허용/금지 한다는 측면인 것 같아요. asyncData는 페이지 진입 여부를 결정하는 데이터 호출 속성입니다. 반면에 fetch는 페이지 진입 여부에 크게 관계가 없습니다.
강의에서 안내드린 것처럼 뷰 라우터의 beforeEnter() 속성에서 next()를 호출하느냐의 차이 정도로 이해하시면 좋을 것 같아요(해당 부분은 Vue.js 완벽가이드에 안내되어 있습니다)
그리고 컴포넌트의 created() 속성에서 데이터를 호출했을 때의 페이지 로딩 UI와 페이지에 진입하기 전의 라우터 네비게이션 가드에 데이터를 설정하고 페이지에 진입하는 로딩 UI에 대한 차이점 또한 완벽 가이드에 안내되어 있으니 해당 부분 참고해 보시면 좋을 것 같습니다 :)
서버의 데이터를 받아온다는 측면에서는 두 속성 동일한 목적을 가지고 있고 위에서 말씀 드린 약간의 차이점과 API에서 제공되는 옵션들의 세부적인 차이가 있을 것 같아요. 더 자세한 내용은 아래 링크 참고해 보시면 좋을 것 같습니다 :)
https://stackoverflow.com/questions/49251437/difference-between-asyncdata-vs-fetch
안녕하세요 혜정님, 1,2,3번에 대해 전반적으로 친절하게 설명한다고 했는데 이해가 잘 안되셨나 보네요..! 말씀해 주신 대로 답변 드릴게요.