v-on:click= " " 내부의 this는 무엇을 가리키나요? 그리고 안에는 뭐가 들어가나요?
295
작성한 질문수 25
저번에도 비슷한 질문을 했었는데 해주신 답변이
안녕하세요, "v-on:이벤트명"의 대상으로는 해당 컴포넌트의 메서드 이름이 올 수 있다고 보시면 됩니다. logText() 형태가 아니라 logText로 써주셔야 합니다 :)
였습니다
근데
case 1)
<button @click="this.message+='!'">{{ this.message }}</button>
-> TypeError: Cannot read properties of null
case 2)
<button @click="message+='!'">{{ this.message }}</button>
--> 정상적으로 '!'가 뒤에 추가됨
case 3)
<button @click="addMessage">{{ this.message }}</button>
--> 정상적으로 '!'가 뒤에 추가됨
case 4)
<button @click="addMessage()">{{ this.message }}</button>
--> 정상적으로 '!'가 뒤에 추가됨
case 5)
<button @click="this.addMessage">{{ this.message }}</button>
--> 정상적으로 '!'가 뒤에 추가됨
case 6)
<button @click="this.addMessage()">{{ this.message }}</button>
-> TypeError: Cannot read properties of null
예시가 길었습니다!
그래서 질문입니다
1) v-on:click ="" 내부에서 this.메서드() 하면 this가 null 취급을 받는데 this.메서드 하면 this가 null 취급을 안 받는 이유가 뭔가요?
2) 그럼 왜 {{ this.message }} 의 this는 null 취급을 안 받나요?
3) 그래서 v-on:click="" 안에는 함수 참조가 들어가는 건가요 아니면 함수 호출문이 들어가는 건가요? case3, case4를 보면 함수 참조, 함수 호출문 둘다 들어갈 수 있는데 또 case 5, case6을 보면 모르겠습니다.
답변 1
0
안녕하세요, 자세하게 질문을 잘 작성해 주셨네요. 질문하신 내용들을 보면 함수 호출의 결과와 함수 값을 참조하는 것의 차이를 정확히 이해하시는게 중요할 것 같습니다.
아래 코드가 어떻게 다른지 한번 찾아보시면 좋을 것 같아요 :)
<button onclick="showAlert"></button>
<button onclick="showAlert()"></button>그리고 템플릿 표현식 안에서의 this는 해당 컴포넌트를 가리킵니다.
깃 권한 요청 드립니다
0
50
1
깃 권한 신청
0
50
1
깃 권한 요청드립니다.
0
111
1
깃허브 권한 요청 드립니다
0
144
1
깃허브 권한 요청 드립니다
0
161
1
깃허브 권한 요청 드립니다
0
167
1
깃허브 권한 요청 드립니다.
0
154
1
안녕하세요 vue 2.7로 수강하고 있는 학생입니다. 실무에서 최하위 자식의 props와 watch의 관계를 여쭈고자 합니다.
0
208
1
ide 타입추론 기능 사용할 수 없을까요??
0
207
1
컴포넌트 링크는 vue peek 익스텐션 설치가 필수인가요??
0
228
1
Vue3로 진행중입니다
1
338
1
Vue router-link 사용시 같은 url이면
1
506
1
vue3 에러 메세지...
1
670
2
id ="app" 중복
0
271
2
use undefined 에러가 나옵니다.
1
318
2
깃허브 권한 요청드립니다.
1
358
2
권한요청드립니다.
1
299
2
Vue3에서 구글 애드센스 탑재하기
1
436
2
코드가 정상 작동 되는건지 ...
1
303
1
강의에서 api를 따로 빼셨는데 얻는 이점이 뭐죠?
1
243
1
vuex 적용시 질문
1
288
2
라우터 버전이 안맞는데 어떤걸 써야하나요
1
382
2
UserView에 id 속성만 undefined로 넘어오는데 이유를 모르겠습니다..
1
455
2
권한요청 드립니다!
1
274
2





