-
与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
相关推荐
fruge1 小时前
Vue项目中的Electron桌面应用开发实践指南漂流瓶jz7 小时前
Webpack中各种devtool配置的含义与SourceMap生成逻辑这是个栗子7 小时前
【问题解决】用pnpm创建的 Vue3项目找不到 .eslintrc.js文件 及 后续的eslint配置的解决办法前端架构师-老李7 小时前
React 中 useCallback 的基本使用和原理解析木易 士心8 小时前
CSS 中 `data-status` 的使用详解明月与玄武8 小时前
前端缓存战争:回车与刷新按钮的终极对决!花姐夫Jun8 小时前
基于Vue+Python+Orange Pi Zero3的完整视频监控方案牧马少女8 小时前
css 画一个圆角渐变色边框zy happy8 小时前
RuoyiApp 在vuex,state存储nickname vue2小雨青年8 小时前
Cursor 项目实战:AI播客策划助手(二)—— 多轮交互打磨播客文案的技术实现与实践