Vue에서 watch를 사용하는 방법에 대한 자세한 설명은 무엇입니까? 시계 사용법 소개

青灯夜游
풀어 주다: 2020-07-08 16:33:35
앞으로
2171명이 탐색했습니다.

Vue에서 watch를 사용하는 방법에 대한 자세한 설명은 무엇입니까? 시계 사용법 소개

Vue에서는 watch를 사용하여 데이터 변경에 대응합니다. 시계를 사용하는 방법은 대략 3가지가 있습니다. 다음 코드는 watch의 간단한 사용법입니다.

<input type="text" v-model="cityName"/>
로그인 후 복사
new Vue({
  el: '#root',
  data: {
    cityName: 'shanghai'
  },
  watch: {
    cityName(newName, oldName) {      // ...    }
  } 
})
로그인 후 복사

청취 처리 함수를 직접 작성하고, cityName 값이 변경될 때마다 함수를 실행합니다. 모니터링된 데이터 바로 뒤에 문자열 형식으로 메서드 이름을 추가할 수도 있습니다.

watch: {
    cityName: 'nameChange'
    }
 }
로그인 후 복사

immediate 및 handler

watch를 이런 식으로 사용할 때, 즉 값이 첫 번째에 바인딩될 때 기능이 있습니다. 시간이 지나면 청취 기능을 실행하지 않고 값이 변경될 때만 실행됩니다. 값이 처음 바인딩될 때 함수를 실행해야 하는 경우 Immediate 속성을 사용해야 합니다.

예를 들어 상위 구성 요소가 하위 구성 요소에 동적으로 값을 전달하는 경우 하위 구성 요소 props가 상위 구성 요소에서 기본값을 먼저 가져오면 이 때 즉시 함수를 설정해야 합니다. 사실로.

new Vue({
  el: '#root',
  data: {
    cityName: ''
  },
  watch: {
    cityName: {
      handler(newName, oldName) {
        // ...      },
      immediate: true
    }
  } 
})
로그인 후 복사

모니터링된 데이터는 나중에 핸들러 메서드와 즉시를 포함하여 객체 형식으로 작성됩니다. 이전에 작성한 함수는 실제로 이 핸들러 메서드를 작성하는 것입니다.

immediate는 시계에 처음 바인딩될 때 핸들러를 실행할지 여부를 나타냅니다. 값이 true 이면 watch 에 선언하면 바로 핸들러 메소드가 실행된다는 뜻이고, 값이 false 이면 평소 watch 를 사용하는 것처럼 데이터가 변경될 때 실행된다는 의미입니다.

deep

객체의 변경 사항을 모니터링해야 하는 경우 일반 감시 방법으로는 객체의 내부 속성 변경 사항을 모니터링할 수 없습니다. 이 경우 데이터에 포함된 데이터만 모니터링할 수 있습니다. 객체를 수정하려면 deep 속성이 필요합니다.

<input type="text" v-model="cityName.name"/>
로그인 후 복사
new Vue({
  el: '#root',
  data: {
    cityName: {id: 1, name: 'shanghai'}
  },
  watch: {
    cityName: {
      handler(newName, oldName) {      // ...    },
    deep: true,
    immediate: true
    }
  } 
})
로그인 후 복사

cityName.name의 변경 사항을 모니터링하려면 deep: true로 설정합니다. 이때 이 리스너는 cityName의 모든 속성에 추가됩니다. 객체에 속성이 여러 개 있을 경우 속성 값이 변경될 때마다 핸들러가 실행됩니다. . 객체에서 하나의 속성 값만 수신해야 하는 경우 다음 최적화를 수행할 수 있습니다. 문자열 형식을 사용하여 객체 속성을 수신합니다.

watch: {    'cityName.name': {
      handler(newName, oldName) {      // ...      },
      deep: true,
      immediate: true
    }
  }
로그인 후 복사

이렇게 하면 객체의 특정 속성에만 리스너가 추가됩니다. .

배열의 변화(1차원, 다차원)에는 심층 모니터링이 필요하지 않지만, 객체 배열의 객체 속성 변화에는 심층 모니터링이 필요합니다.

위 내용은 Vue에서 watch를 사용하는 방법에 대한 자세한 설명은 무엇입니까? 시계 사용법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!