vue中computed和watch的区别
computed
- 作为计算属性 ,computed声明的计算属性不需要以()的方式进行获取;
- computed中的函数必须用return返回;
- 计算属性具有缓存性,只在相关依赖的值发生变化时,才会重新求值,否则只会返回之前的缓存值,不会重新计算;
- 适用单一值依赖多值进行变化的场景;
watch
- watch不需要调用,会自动执行;
- watch中的函数接收两个参数,newVal和oldVal,且并不一定需要return;
- watch在监听值发生变化的时候就会执行回调函数,还有deep(监听对象属性的变化)和immediate(立即执行监听函数)选项;
- 适用多值依赖单一值进行变化的场景;