inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발

vuejs 데이터 참조 관련 질문이 있습니다.

225

irostub

작성한 질문수 5

0

컴포넌트 강의 FormComponent 구현 2를 듣던 중

FormComponent.js 를 작성하고 있을 때,

문뜩 data()함수에서 return 하는 객체의 프로퍼티인 inputValue를

어떻게 methods 프로퍼티 안에 onSubmit()함수에서 this.inputValue로 참조를 할 수 있는지 의문이 생겼습니다.

console.log(this)로 하나씩 찍어보면서 확인해본 결과

<submit을 할 때마다 어떻게 나오는지 확인하기 위해서 FormComponent.js의 onSubmit함수에서 찍어보았습니다> 

<submit하였을 때 console.log(this)의 결과>

FormComponent 에서 this로 가르키면 VueComponent가 나온다는 것을 알았고 VueComponent에

_data 프로퍼티가 있는 것을 보았습니다. 그래서 this._data.inputValue가 this.inputValue와 같은지 확인해보기 위해서 찍어보았고 서로 같다는 것을 확인했습니다.

전 여기서 두가지가 궁금증이 생겼습니다. 제가 아직 자바스크립트에 대한 이해도가 낮습니다. 해서 아래 두가지의 궁금증에 대한 이론적인 부분을 어떻게 찾아보아야하는지 모르겠습니다. (아마 제가 모르는게 무엇인지 제가 모르는 것 같습니다)

1. 어떻게 data()메소드에서 반환하는 오브젝트가 곧 바로 VueComponent의 _data에 들어가는지...

2. 어떻게 this._data.inputValue로 참조해오지 않고 _data를 생략하고 this.inputValue로만 참조할 수 있는지

javascript vuejs

답변 1

0

김정환

1. Vue 라이브러리의 구조 때문입니다. data 메소드에서 반환한 값을 컴포넌트 객체 안에 저장하는데 아마도 _data가 그 역할인 것 같네요.

2. 이것도 마찬가지로 vue 라이브러리가 해주는 영역입니다.

수업에서는 vuejs의 사용법만을 다루고 있어서 질문에 대해서 충분한 답변을 드리지 못했네요. 이런 부분은 vuejs 라이브러리 구조를 학습하시는 것이 도움이 될 것 같습니다. 오픈 소스이기 때문에 깃헙에 공개된 vuejs 소스 코드도 큰 도움이 될 거구요.

호기심을 갖고 질문해 주셔서 무척 감사합니다.

강사님, 브랜치명 어떻게 만드셨어요?

2

209

1

이미지 파일 업데이트가 안돼있는 거 같습니다

1

502

1

git사용법을 잘 모르겠습니다..

1

495

1

@event 질문입니다.

1

254

1

return 문자열이 여러줄은 어떻게 설정하나요?

1

645

2

탭뷰에서 이벤트를 받아서 메인컨트롤러에게 전달만해주는 방식도 괜찮나요?

1

257

1

ResultComponent.vue 에러?

1

251

1

선생님 안녕하세요!

0

247

1

return new Promise 와 return Promise.resolve

2

474

1

바닐라

1

320

1

실습 관련 질무

1

248

1

event.preventDefault() 문의

1

289

1

컴퍼넌트 질문이 있습니다.

0

209

1

return this에 대해서 (재업로드)

0

355

1

return this에 대해서 이해가 잘 되지 않아요

0

1175

1

강의 내용을 따라 했는데도 안되는 문제

1

308

2

크롬으로 로컬 띄었더니 에러가나네요

1

322

0

에러가 나네요

1

328

2

git checkout 중에 질문드립니다.

1

302

1

bindEvent 메소드를 왜추가하는지 궁금해서 질문드립니다.

2

576

1

안녕하세요 vue.js 처음 입문하는데 강사님 강의로 시작하게 되었습니다.

0

215

1

index 페이지에서 main.js 관련 질문입니다

1

200

1

학습내용 정리 관련 질문입니다!

0

177

1

lite-server로 구현해야하는 이유는 무엇인가요~?

1

518

2