인프런 커뮤니티 질문&답변

jjkim0222님의 프로필 이미지
jjkim0222

작성한 질문수

Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"

Composition API

v-on:click ="" 질문입니다

해결된 질문

작성

·

294

0

lectures/4/App_CompositionAPI.vue 파일에 아래와 같이 data 옵션을 추가하고

export default { data() { return { dataMessage: 'dataMessage' }; }, setup() { }, };

템플릿에

<p>{{ this.dataMessage }}</p>

<button v-on:click="this.dataMessage += '!'">Add Message</button>

를 추가하고 버튼을 누르면 정상적으로 뒤에 '!'가 출력된 dataMessage가 나옵니다

 

근데 이전 VUE2에서 공부할 때는

<button v-on:click="this.dataMessage += '!'">Add Message</button>

로 작성하면 Error in v-on handler: "TypeError: Cannot read properties of null (reading 'dataMessage')" 라는 에러가 떴었습니다.

그래서 그냥 this 없이 v-on:click="dataMessage += '!'" 로 작성하면 동작했는데 지금은 되고 vue2 사용할 때는 에러가 뜨던 이유가 뭔가요?

답변 1

1

짐코딩님의 프로필 이미지
짐코딩
지식공유자

안녕하세요

Vue2 vs Vue3 스팩 차이입니다. 이벤트 핸들러에서 this를 접근할 수 있냐 없냐

  • Vue2 에서 this는 null, Vue3에서 this는 컴포넌트 인스턴스

이외에도 Vue2, Vue3의 스팩차이는 많아요 :)

jjkim0222님의 프로필 이미지
jjkim0222

작성한 질문수

질문하기