ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • watch 속성
    front-end/Vue.js 2022. 2. 23. 10:15
    728x90

    watch 속성은 특정 데이터의 변화를 감지하여 자동으로 특정 로직을 수행해주는 속성이다.

     

    watch 속성의 구현 코드 형식은 다음과 같다.

    new Vue({
      data() {
        return {
          message: 'Hello'
        }
      },
      watch: {
        message: function(value, oldValue) {
          console.log(value);
        }
      }
    })

     

    위 코드는 message라는 데이터의 watch 속성을 지정한 코드이다.

     

    message의 데이터가 변할 때마다 watch 속성에 정의한 message 함수가 실행되면서 콘솔에 변한 데이터를 출력한다.

     

     

     

    - watch 속성에 메서드 함수를 연결

     

    watch 대상 속성에 함수를 연결하는 대신 메서드 함수를 연결할 수 있다.

    new Vue({
      data() {
        return {
          message: 'Hello'
        }
      },
      methods: {
        logMessage() {
          console.log(this.message);
        }
      },
      watch: {
        'message': 'logMessage' // 대상 속성과 메서드 함수를 매칭
      }
    })

     

     

     

     

    - 핸들러와 초기 실행 옵션

     

    watch 대상 속성에 다음과 같이 handler()와 immediate 속성을 정의할 수 있다.

    new Vue({
      data() {
        return {
          message: 'Hello'
        }
      },
      watch: {
        'message': {
          handler(value, oldValue) {
            console.log(value);
          },
          immediate: true // 컴포넌트가 생성되자마자 즉시 실행
        }
      }
    })

     

    immediate: true를 추가하게 되면 컴포넌트가 생성되자마자 즉시 실행한다.

     

    위 watch 옵션이 포함된 컴포넌트의 라이프 사이클에서 created 전에 해당 watch가 한번 실행되게 된다.

    728x90

    'front-end > Vue.js' 카테고리의 다른 글

    function props에 대해서  (0) 2022.02.23
    Vue Filter  (0) 2022.02.23
    computed 속성  (0) 2022.02.23
    라우터 옵션과 기법  (0) 2022.02.23
    구조 분해 문법(destructuring) / ES6  (0) 2022.02.23

    댓글

Designed by Tistory.