Vue中computed和watch的区别

1.computed:

计算属性注重在一个值变化时改变另一个值,在依赖发生变化时或vue初始化时会执行,执行时使用的是依赖项的newValue而非oldValue,必须return一个值(给到计算属性),无法异步执行,

必须是同步方法,无法用于更改dom(更改dom应该是异步方法)
2.watch:

1)注重对data或computed中的属性的监听,相当于给属性配置一个onchange事件,在监听的属性值发生变化时执行,

默认vue初始化时不会执行(除非加上immediate:true,此时oldValue传入的是undefined).

回调会传入oldValue和newValue

2)深度监听:如果监听的属性为一个包含多个子属性的对象时,如果需要在子属性发生变化时触发watch监听事件,则需要显式的配置deep:true

3)可以进行http请求/更改dom任何同步异步操作.

参考文档:一文弄清楚Vue中的computed与watch的区别 - 知乎 (zhihu.com)

相关推荐
诗和远方1493956232734几秒前
KSCrash中僵尸对象监控原理与实现
前端
XXXFIRE1 分钟前
前端必学:💻Mac + Nginx 部署 Vue3 静态项目
运维·前端
aiweker2 分钟前
python web开发-Flask 重定向与URL生成完全指南
前端·python·flask
Onion2 分钟前
CodeWave集成wujie微前端路由跳转思路
前端
用户3802258598243 分钟前
vue3源码解析:应用挂载流程分析
vue.js
设计师小聂!8 分钟前
vue3 - 自定义hook
开发语言·javascript·ecmascript
伍哥的传说9 分钟前
daisyUI 扩展之 pin input 组件开发,极致pin码输入框
前端·javascript·react.js·交互
云小遥38 分钟前
Cornerstone3D 2.x升级调研
前端·数据可视化
李明卫杭州43 分钟前
浅谈JavaScript中Blob对象
前端·javascript
springfe010143 分钟前
Cesium 3D地图 图元 圆柱 图片实现
前端·cesium