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)

相关推荐
祈澈菇凉28 分钟前
如何结合使用thread-loader和cache-loader以获得最佳效果?
前端
垣宇31 分钟前
Vite 和 Webpack 的区别和选择
前端·webpack·node.js
java1234_小锋34 分钟前
一周学会Flask3 Python Web开发-客户端状态信息Cookie以及加密
前端·python·flask·flask3
化作繁星38 分钟前
如何在 React 中测试高阶组件?
前端·javascript·react.js
初遇你时动了情41 分钟前
react module.scss 避免全局冲突类似vue中scoped
vue.js·react.js·scss
Au_ust1 小时前
千峰React:函数组件使用(2)
前端·javascript·react.js
爱吃南瓜的北瓜1 小时前
npm install 卡在“sill idealTree buildDeps“
前端·npm·node.js
TTc_1 小时前
记录首次安装远古时代所需的运行环境成功npm install --save-dev node-sass
前端·npm·sass
翻滚吧键盘1 小时前
npm使用了代理,但是代理软件已经关闭导致创建失败
前端·npm·node.js
烂蜻蜓1 小时前
Uniapp 设计思路全分享
前端·css·vue.js·uni-app·html