티스토리 뷰

Vue

Vue_watch에 대하여

Young_J 2020. 11. 20. 17:33

프로젝트를 하던 도중 객체배열을 emit과 props로 다른 컴포넌트에 넘기는 경우가 있어서 watch를 이용함

 

처음 객체배열의 값이 들어올 때는 watch가 잘 작동하는 것을 볼 수 있음

 

하지만 객체배열내부의 값이 변경되었을 경우 watch가 작동하지않음...

 

이를 해결하기 위해 구글링 결과 watch의 속성중 속성 내부의 변경을 감지해주는 속성이 있음.

watch - deep 속성

사용 예)

<script>
export default {
  props: ['apt', 'aptCodes', 'isStarview'],
  data() {
    return {
      pageNum: 0,
      pageSize: 3,
      aptlist: [],
      token: localStorage.getItem('key'),
      userid: localStorage.getItem('id'),
    };
  },
  watch: {
    apt: {
      deep: true,
      handler(val) {
        this.aptlist = [];
        axios
          .get(`${SERVER_URL}/map/deal/${val.apt.dong}/${val.apt.aptName}`)
          .then((response) => {
            this.aptlist = response.data;
          })
          .catch(() => (this.errored = true))
          .finally(() => (this.loading = false));
        this.$refs['my-modal'].show();
      },
    },
  },

};
</script>

watch의 deep 속성을 이용하여 객체배열의 내부값의 변경을 감지할 수 있음. 

'Vue' 카테고리의 다른 글

Vue_API 키 숨기기  (0) 2020.11.27
Vue_kakao roadview 적용방법  (0) 2020.11.25
Vue/cli 설정  (0) 2020.11.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함