在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、watch 新用法选项式API中,watch 使用 watch:{ mood(curVal,preVal){ console.log('cur',curVal);//最新值 console.log('pre',preVal);//修改之前的值 } } 1.1、watch 使用语法在 使用语法为: import { watch } from "vue" watch( name , ( curVal , preVal )=>{ //业务处理 }, options ) 共有三个参数,分别为:
页面刚进入的时候并不会执行,值发生改变的时候,才会打印出当前最新值和修改之前的值。 示例1:监听一个数据 import { ref , watch } from "vue" export default{ setup(){ const mood = ref("") //帧听器 watch(mood,(curVal,preVal)=>{ console.log('cur',curVal); console.log('pre',preVal); },{ //配置项 }) return{ mood } } }
1.2、watch 监听多个属性值示例2:监听多个属性 watch([mood,target],([curMood,curTarget],[preMood,preTarget])=>{ console.log('curMood',curMood); console.log('preMood',preMood); console.log('curTarget',curTarget); console.log('preTarget',preTarget); },{ //配置项 }) 1.3、watch 监听引用数据类型
使用语法如下: watch(()=>obj.name,(curValue,preValue)=>{ //帧听引用数据类型的某个属性 },{ //配置项 }) 第一个参数,回调函数返回的是需要帧听对象的属性。后边的参数与上边的一致。 示例3:帧听对象某个属性 <template> <div> {{obj}} <input type="text" v-model="obj.name"> </div> </template> <script> import { ref , reactive , watch } from "vue" export default{ setup(){ const obj = reactive({ name:'qq',sex:'女' }) watch(()=>obj.name,(cur,pre)=>{ console.log('cur',cur); },{ }) return{ obj } } } </script> 如果我们试着把属性去掉,直接监听整个对象,发现 二、watchEffect
示例4:监听对象 <template> <div> {{obj}} <input type="text" v-model="obj.name"> <input type="text" v-model="obj.sex"> </div> </template> <script> import { reactive , watchEffect } from "vue" export default{ setup(){ let obj = reactive({ name:'qq',sex:'女'}) watchEffect(() => { console.log('name',obj.name); console.log('sex' , obj.sex); }) return{ obj } } } </script>
三、watch 与 watchEffect 区别和联系
3.1、watch特点
watch的特点为:
3.2、watch 配置项watch 的配置项可以补充watch特点上的不足,可以配置的有:
3.3、watchEffect 特点watchEffect 副作用函数它的特点分别为:
3.4、watch 与 watchEffect 联系
示例5: <template> <div> {{obj}} <input type="text" v-model="obj.name"> </div> </template> <script> import { ref , reactive , watch } from "vue" export default{ setup(){ const obj = reactive({ name:'qq',sex:'女' }) watch(()=>obj,(cur,pre)=>{ console.log('cur',cur); },{ immediate:true, deep:true }) return{ obj } } } </script> 到此这篇关于 vue 3 中watch 和watchEffect 的新用法的文章就介绍到这了,更多相关 vue 3 中watch 和watchEffect 内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论