watch函数与watchEffect函数都是监听器,在写法和用法上有一定区别,是同一功能的两种不同形态,底层都是一样的。
watch
watch显式指定依赖数据,依赖数据更新时执行回调函数
具有一定的惰性lazy 第一次页面展示的时候不会执行,只有数据变化的时候才会执行(设置immediate: true时可以变为非惰性,页面首次加载就会执行)
监视ref定义的响应式数据时可以获取到原值
既要指明监视的属性,也要指明监视的回调
watchEffect
watchEffect自动收集依赖数据,依赖数据更新时重新执行自身
立即执行,没有惰性,页面的首次加载就会执行
无法获取到原值,只能得到变化后的值
不用指明监视哪个属性,监视的回调中用到哪个属性就监视哪个属性