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)

你可能感兴趣的:(vue.js,javascript,前端)