찾다
웹 프론트엔드JS 튜토리얼vue에서 데이터 변경을 자동으로 감지하도록 watch를 구현하는 방법

이번 글에서는 Vue watch가 데이터 변화를 자동으로 감지하여 실시간으로 렌더링하는 방법을 주로 소개하고 참고용으로 올려드립니다.

이 글에서는 Vue watch가 데이터 변경 사항을 자동으로 감지하고 실시간으로 렌더링하는 방법을 소개합니다. 자세한 내용은 다음과 같습니다.

먼저 watch가 객체이며 반드시 객체로 사용되어야 하는지 확인하세요. 물체.

객체에는 키와 값이 있습니다.

Key: $route와 같이 모니터링하려는 녀석입니다. 이는 라우팅 변경을 모니터링하기 위한 것입니다. 또는 데이터의 변수입니다.
값은 함수일 수 있습니다. 모니터링 중인 항목이 변경될 때 실행해야 하는 함수입니다. 이 함수에는 두 가지 형식 매개변수가 있습니다. 첫 번째는 현재 값이고 두 번째는 변경된 값입니다.

값은 함수 이름일 수도 있습니다. 하지만 이 함수 이름은 작은따옴표로 묶어야 합니다.

세 번째 상황이 굉장하네요.

값은 옵션이 포함된 개체입니다. 세 가지 옵션이 있습니다.

  1. 첫 번째 핸들러: 해당 값은 콜백 함수입니다. 즉, 변경사항이 감지되었을 때 실행되어야 하는 함수입니다.

  2. 두 번째는 심층입니다. 해당 값은 심층 모니터링할지 여부를 확인합니다. (일반적으로 모니터링 중에는 객체 속성 값의 변화를 모니터링할 수 없지만 배열 값의 변화는 들을 수 있습니다.)

  3. 세 번째는 즉시: 해당 값이 true 또는 false인지 확인합니다. 현재 초기값 함수를 사용합니다.

watch 인스턴스

지난번에 this.$set 또는 vm.set를 사용하여 페이지에 렌더링된 데이터(추가, 삭제)를 동적으로 변경하여 다시 계산하고 다시 렌더링할 수 있다고 언급했습니다. .

때때로 특정 데이터나 값을 동적으로 변경한 후 다음 코드 예제와 같이 변경한 값을 기반으로 다른 처리 작업(예: 표시, 숨기기, 추가, 삭제)을 수행해야 합니다.

여기 Tab의 예입니다.

vue 프로젝트에서 새 Tab 구성 요소 페이지 만들기

<template>
{{index}}
 <p>
   <p @click="showFun(0)">Tab1</p>
   <p @click="showFun(1)">Tab2</p>
   <p @click="showFun(2)">Tab3</p>
 </p>
 <p>
   <p v-if="index == 0">cont1</p>
   <p v-if="index == 1">cont1</p>
   <p v-if="index == 2">cont1</p>
 </p>
</template>
<script>
export default {
 data(){
  return {
    index: 0 // 索引
  }
 },
watch:{ // 实时检测
  index(idx){ //实时监听index的变化
    console.log(idx) //在这里你可以再根据idx的值,做出其它的操作
  }
},
 methods:{
   showFun(idx){
     this.index = idx
   }
 }
}
</script>

watch를 사용하면 데이터 변경 시 비동기 또는 비용이 많이 드는 작업을 수행해야 하는 경우 이 방법이 가장 유용합니다.

다른 검색 예를 들어보겠습니다:

<template>
 <input v-model="value" /> // 搜索框
</template>
<script>
export default {
 data(){
  return {
    value: &#39;&#39; // 值
  }
 },
 watch:{
   value(val){ // 实时监听数据变化
     this.wat_fun(val)
   }
 }, 
 methods:{
   wat_fun(val){ // 这里可以调用搜索api接口
    console.log(val)
   }
 }
}
</script>

위 내용은 제가 모두를 위해 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

cropper의 js를 통해 vue에서 이미지 자르기 및 업로드 기능을 구현하는 방법

vue에서 Cropperjs를 사용하는 방법(자세한 튜토리얼)

vue.js에서 이미지의 로컬 미리보기 구현 자르기, 압축, 업로드 등 일련의 기능

FastClick 소스 코드에 대한 자세한 설명(자세한 튜토리얼)

vue 및 element-ui를 사용하여 테이블 콘텐츠 페이징을 구현하는 방법

위 내용은 vue에서 데이터 변경을 자동으로 감지하도록 watch를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Vue常见面试题汇总(附答案解析)Vue常见面试题汇总(附答案解析)Apr 08, 2021 pm 07:54 PM

本篇文章给大家分享一些Vue面试题(附答案解析)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

5 款适合国内使用的 Vue 移动端 UI 组件库5 款适合国内使用的 Vue 移动端 UI 组件库May 05, 2022 pm 09:11 PM

本篇文章给大家分享5 款适合国内使用的 Vue 移动端 UI 组件库,希望对大家有所帮助!

vue中props可以传递函数吗vue中props可以传递函数吗Jun 16, 2022 am 10:39 AM

vue中props可以传递函数;vue中可以将字符串、数组、数字和对象作为props传递,props主要用于组件的传值,目的为了接收外面传过来的数据,语法为“export default {methods: {myFunction() {// ...}}};”。

手把手带你利用vue3.x绘制流程图手把手带你利用vue3.x绘制流程图Jun 08, 2022 am 11:57 AM

利用vue3.x怎么绘制流程图?下面本篇文章给大家分享基于 vue3.x 的流程图绘制方法,希望对大家有所帮助!

聊聊vue指令中的修饰符,常用事件修饰符总结聊聊vue指令中的修饰符,常用事件修饰符总结May 09, 2022 am 11:07 AM

本篇文章带大家聊聊vue指令中的修饰符,对比一下vue中的指令修饰符和dom事件中的event对象,介绍一下常用的事件修饰符,希望对大家有所帮助!

如何覆盖组件库样式?React和Vue项目的解决方法浅析如何覆盖组件库样式?React和Vue项目的解决方法浅析May 16, 2022 am 11:15 AM

如何覆盖组件库样式?下面本篇文章给大家介绍一下React和Vue项目中优雅地覆盖组件库样式的方法,希望对大家有所帮助!

通过9个Vue3 组件库,看看聊前端的流行趋势!通过9个Vue3 组件库,看看聊前端的流行趋势!May 07, 2022 am 11:31 AM

本篇文章给大家分享9个开源的 Vue3 组件库,通过它们聊聊发现的前端的流行趋势,希望对大家有所帮助!

react与vue的虚拟dom有什么区别react与vue的虚拟dom有什么区别Apr 22, 2022 am 11:11 AM

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구