Develop Issue/Vue.js
vue.js에서 axios 사용 시 this 접근이 안돼는 문제
디벨롭디스트로이어
2020. 1. 2. 23:38
axios.get('/api/test')
.then(function(response){
this.list = [];
});
이렇게 짜면 vue의 데이터 객체 list의 내용을 비우라는 것으로 착각하기 쉽지만...
이렇게 했을때 this는 vue의 this가 아니다... 이 상황에서의 this는 axios를 가리키는 것이다.
따라서 클로저 형태로 접근해야 하는 번거로움이 생긴다..
제일 간단한 방법은
var vm = this;
axios.get('/api/test')
.then(function(response){
vm.list = [];
});
이렇게 axios 바깥에서 this를 별도 변수에 넣어서 넘겨쓰는것.