[vue] this

해피데빙·2022년 12월 21일
0

this

자신이 종속된 인스턴스를 가리킨다

  1. 브라우저 환경
  • Window 전역 객체 참조
  1. 객체 내부
  • 객체

Vue.js에서의 this

this는 runtime에 생성되는 인스턴스에 중점을 맞춰 할당된다
runtime에 생성된 vue 인스턴스의 모습은 직관적이지 않을 수 있음

var vm = new Vue({
 el: '#app', 
 methods:{ 
   increaseNum: function(){ 
     this.num++;
     //js에서 this는 increaseNum을 가리키는 게 맞다 
     //vue는 사실상 아래의 코드와 같은 형식으로 생성된다
   }
 }, 
 data: { num: 10 } 
})
  • Vue 객체 내부에 바로 num 데이터와 increaseNum 메소드가 생성된다
    그러므로 methods, data는 생성되는 객체에 명시되지 않는다
  • 부모&자식 컴포넌트 모두 $children, $parent의 요소로 객체 내부에 연결되어 있는 것을 대충 볼 수 있음
var vm = new Vue({
	el: '#app',
	increaseNum: function(){
		this.num++;
	},
	num : 10,
});

this 키워드는 정상적인 함수 선언과 화살표 함수 선언 내부에서 동작이 다르다
vue 객체 내부에서는 this가 vue 인스턴스를 가르키며 이로 인해 내부 데이터에 접근 가능

profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17

0개의 댓글