做go kegg的网站,企业网站php,wordpress 更改icon,网站下载端口建设一、情景说明
在Vue2中#xff0c;watch的用法如下 https://blog.csdn.net/Brave_heart4pzj/article/details/135604394
这一篇#xff0c;来学习Vue3中的watch用法
二、案例
1、监视ref定义的数据【基本类型】
引入函数 import {ref,watch} from vue定义变量 // 数据le…一、情景说明
在Vue2中watch的用法如下 https://blog.csdn.net/Brave_heart4pzj/article/details/135604394
这一篇来学习Vue3中的watch用法
二、案例
1、监视ref定义的数据【基本类型】
引入函数 import {ref,watch} from vue定义变量 // 数据let sum ref(0)watch监视变量 注意 1、监视的ref变量不可以写成sum.value 2、这里居然可以递归调用哦 // 监视情况一监视【ref】定义的【基本类型】数据const stopWatch watch(sum,(newValue,oldValue){console.log(sum变化了,newValue,oldValue)if(newValue 10){stopWatch()}})2、监视ref定义的数据【对象类型】
引入函数 import {ref,watch} from vue定义变量 // 数据let person ref({name:张三,age:18})watch监视变量 监视的是对象的地址值 若想监视对象内部属性的变化需要手动开启深度监视 watch的第一个参数是被监视的数据 watch的第二个参数是监视的回调 watch的第三个参数是配置对象deep、immediate等等… 注意 如果这里不配置deep项则修改person里面的属性不会触发监视。 watch(person,(newValue,oldValue){console.log(person变化了,newValue,oldValue)},{deep:true})3、监视reactive定义的数据
引入函数 import {reactive,watch} from vue定义变量 // 数据let person reactive({name:张三,age:18})watch监视变量 默认是开启深度监视的且无法关闭 watch(person,(newValue,oldValue){console.log(person变化了,newValue,oldValue)})4、有一个返回值的函数
解决watch单独监视对象中某个属性的变化的情况 引入函数 import {reactive,watch} from vue定义变量 // 数据let person reactive({name:张三,age:18,car:{c1:奔驰,c2:宝马}})watch监视变量 1、监视响应式对象中的某个属性且该属性是基本类型的要写成函数式 watch(() person.name,(newValue,oldValue){console.log(person.name变化了,newValue,oldValue)})2、监视响应式对象中的某个属性且该属性是对象类型的 可以直接写也能写函数更推荐写函数根据需要开启深度监视 watch(()person.car,(newValue,oldValue){console.log(person.car变化了,newValue,oldValue)},{deep:true})5、一个包含上述内容的数组
引入函数 import {reactive,watch} from vue定义变量 // 数据let person reactive({name:张三,age:18,car:{c1:奔驰,c2:宝马}})watch监视变量 监视多个属性用数组组装后即可进行监视 watch([()person.name,person.car],(newValue,oldValue){console.log(person.car变化了,newValue,oldValue)},{deep:true})