vue.js에서 프로퍼티를 찾지 못하는 현상에 대해 질문드리고 싶어요!

data()
      {
          return {
                          store_gps_latitude:  ' ',
                          store_gps_longitude: ' ',
                     }
      },

methods: {

map_check(){

                var geocoder = new kakao.maps.services.Geocoder();

  
                geocoder.addressSearch(this.roadAddrPart1, function(result, status) {
                    console.log("함수실행");


                    if (status === kakao.maps.services.Status.OK) {
                        console.log("이프문실행");

                        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
                        console.log(coords.Ga);
                        console.log(coords.Ha);

                        this.store_gps_latitude = coords.Ga;
                        this.store_gps_longitude = coords.Ha;
                } 
            });    
            },
}

이런 느낌으로 함수가 실행됐을 때, 위도 경도를 가져와서 latitude, longitude에 넣어주고 싶은데 이대로 실행했을 때

Cannot set property ‘store_gps_latitude’ of undefined

란 오류가 뜨면서 프로퍼티를 못 찾겠다고 뜨더랍니다…

data부분에서 선언했는데도 못찾아오는 이유가 뭘까요…? 도와주세요ㅠ

arrow functionthis에 대해 검색해보세요. fucntion () {}과 화살표 함수는 this가 참조하는 값이 다릅니다.

2 Likes

감사합니다! 답변 보자마자 아차 싶었습니다ㅋㅋ역시 이런 부분에서 기초가 부족한게 드러나는군요ㅎㅎ부끄러울 따름입니다…

1 Like