1. 程式人生 > 程式設計 >Vue2和Vue3如何使用watch偵聽器詳解

Vue2和Vue3如何使用watch偵聽器詳解

watch:偵聽資料變化 (某個值的change事件)

2.x

 data(){
     return{
         num:10
     }
 },
 watch:{
      num:{
	   http://www.cppcns.com   /*
	       *   newValue:當前值
           *   oldValue:修改上一刻的值
	       */
          handler(newValue,oldValue){
          	// doSomething
          },
          /*
           * deep:Boolean : 深度監聽
           * 	true: 監聽堆的改變就
           * 	false:只監聽棧的改變(預設)
           */
          deep:true/false,/*
           * immediate:Boolean : 是否在第一次定義時就執行handler函式
           * 	true: 在第一次定義時就執行handler函式
           * 	false:修改後再執行handler函式
           */          
          immediate:true/false
      }  
}

vue3.x

watch用於監聽響應式的資料

基本使用

const num = ref(0)
1. 匯入  import {watch} from 'vue'
2. 使用
	 `const 返回值= watch(需要監聽的值,(newVal,oldVal)=>{ },{deep,immediate,flush})`
	 
	 返回值: 可以關閉監聽: 返回值()
	 引數一: 需要監聽的值
	 			 基本資料型別(Number,String,Boolean,null,undefined):  ()=>基本資料型別值
	 			 複雜資料型別(Array,Object,Function):			直接寫/()=>基本資料型別值
	 引數二: 類比Vue2中的handler函式
	 引數三: {}物件,物件中可以有個配置項:deep,flush,deep,immediate的意思上面有過描述,這裡主要對flush的取值做說明:
	 			 `flush:kafLTizRYg
pokafLTizRYgst/sync/pre pre(預設值):渲染前,值改變了,沒有渲染到dom post:渲染後,值改變了,也渲染到dom sync:改變一次渲染一次,每一次都是渲染前`

注意點:
實際開發中監聽不到變化 統一使www.cppcns.com

watch(()=>響應式資料,()=>{},{deep:true})

以上就是Vue2和Vue3如何使用watch偵聽器詳解的詳細內容,更多關於watch偵聽器使用的資料請關注我們其它相關文章!