강의 내용중 이해가 가지 않는 부분이 있습니다.
238
작성한 질문수 14
5:50 부분을 보시면, 말씀하실 때
1) App.vue에 header,input,list,footer등의 컴포넌트가 등록 되어있고
2) App.vue는 main.js의 뷰 인스턴스에 등록이 되어있다 하셨는데
3) 따라서 TodoInput에 있는 this는 현재의 TodoInput.vue 컴포넌트를 가리킨다 라고 하셨는데요.
2번과 3번 각각은 이해가 되는데, 둘의 연관성이 이해가 되지 않습니다.
결국 한개의 App.vue 인스턴스에 등록되어있다면 해당 this는 App.vue를 가리켜야하는 것 아닌가요?
왜 TodoInput을 가리키게 되는건가요??
뷰파일이 분리되면 this도 분리되서 해당 컴포넌트를 가리키게 되는건가요?
아니면 전역에서 newTodoItem을 선언한 파일은 TodoItem밖에 없으니 전역에 있는 data()를 들고온건가요?
답변 2
4
안녕하세요 예란님, 좋은 질문입니다 :) 바로 답변드릴게요.
Q) 왜 TodoInput.vue 에서의 this가 App.vue를 가리키지 않는가?
뷰로 웹 애플리케이션을 만들게 되면 최소 2개 이상의 컴포넌트를 사용하시게 될 겁니다. 물론 1개로 할 수도 있지만 그건 컴포넌트 기반 프레임워크의 장점을 잘 활용하지 못하는 것이기 때문에 여러 개의 컴포넌트로 애플리케이션을 구성한다고 보시면 됩니다. 그랬을 때 각각의 컴포넌트를 가리킬 수 있어야 하는데 그게 각 .vue 파일에서 `this` 라는 키워드로 접근하실 수 있습니다.
정리하면, App.vue의 this는 App 컴포넌트를 TodoInput.vue의 this는 TodoInput 컴포넌트를 가리킵니다 :)
Chrome 개발자 모드 확장이 안됨
0
257
1
깃 권한 요청드립니다
0
118
1
vue.js 중급 리포지토리 권한 관련
0
118
1
vuex + axios 질문 있습니다!
1
198
2
깃 권한 요청드립니다!
0
161
1
강의 깃주소 문의
0
144
1
router-view에 props를 어떻게 넘길 수 있나요?
1
279
2
Vue가 인식되지 않는 현상
0
205
1
기초강좌는 어디있나요?
1
190
2
App.vue가 필요한 이유
0
192
1
getter가 정의되어 있지 않아 오류가 발생합니다.
1
253
1
뷰 라이프사이클
1
187
1
TSLint 말고 TSLint Vue 설치해도 되나요?
1
368
3
로컬 스토리지는 어디에 있나요?
1
279
1
vuex 실행시 새로고침해야지만 리스트에 나타나는 현상
1
387
2
export default 관련한 질문
0
354
2
깃허브 vue-todo 접근불가에 따른 확인요청
1
354
2
깃허브에 문제있는것 같습니다.
1
273
2
인프런 강의 재생 화면 구성 변경 문의드립니다
1
303
2
addTodo Helper 함수 적용
1
243
1
vuex 헬퍼 전역 설정
1
245
2
github 권한요청드립니다.
1
258
2
이벤트 위치에 대한 궁금증 입니다.
1
223
2
구조 차이에 대한 문의
1
345
2





