-
与Vue2.x中watch配置功能一致
-
两个小"坑":
- 监视reactive定义的响应式数据时:oldValue无法正确获取、强制开启了深度监视(deep配置失效)。
- 监视reactive定义的响应式数据中某个属性时:deep配置有效。
js//情况一:监视ref定义的响应式数据 watch(sum,(newValue,oldValue)=>{ console.log('sum变化了',newValue,oldValue) },{immediate:true}) //情况二:监视多个ref定义的响应式数据 watch([sum,msg],(newValue,oldValue)=>{ console.log('sum或msg变化了',newValue,oldValue) }) /* 情况三:监视reactive定义的响应式数据 若watch监视的是reactive定义的响应式数据,则无法正确获得oldValue!! 若watch监视的是reactive定义的响应式数据,则强制开启了深度监视 */ watch(person,(newValue,oldValue)=>{ console.log('person变化了',newValue,oldValue) },{immediate:true,deep:false}) //此处的deep配置不再奏效 //情况四:监视reactive定义的响应式数据中的某个属性 watch(()=>person.job,(newValue,oldValue)=>{ console.log('person的job变化了',newValue,oldValue) },{immediate:true,deep:true}) //情况五:监视reactive定义的响应式数据中的某些属性 watch([()=>person.job,()=>person.name],(newValue,oldValue)=>{ console.log('person的job变化了',newValue,oldValue) },{immediate:true,deep:true}) //特殊情况 watch(()=>person.job,(newValue,oldValue)=>{ console.log('person的job变化了',newValue,oldValue) },{deep:true}) //此处由于监视的是reactive素定义的对象中的某个属性,所以deep配置有效
VUE3——watch函数
CaseyWei2024-03-27 20:09
相关推荐
小王和八蛋1 分钟前
前端存储与离线应用实战:Cookie、LocalStorage、PWA 及 Service Worker 核心知识点JarvanMo4 分钟前
终极指南:在 Flutter 中通过 sign_in_with_apple 实现 Apple 登录Learner10 分钟前
Python异常处理tao35566713 分钟前
VS Code登录codex,报错(os error 10013)军军君0117 分钟前
Three.js基础功能学习七:加载器与管理器哈__18 分钟前
React Native 鸿蒙开发:内置 Share 模块实现无配置社交分享JarvanMo19 分钟前
情迷服务器驱动 UI:我在 Flutter 开发中的爱与哀愁tzy23322 分钟前
分享一个 HTTP(S) 代理&抓包工具,拦截和Mock Web客户端请求和服务端响应代码小学僧28 分钟前
普通前端仔的 2025 : 年终总结与 AI 对我的影响Mike_jia34 分钟前
TCP 粘包/拆包问题