相同 :
watch函数与watchEffect函数都是监听器,在写法和用法上有一定区别,是同一功能的两种不同形态,底层都是一样的。
区别:
1.watch函数: 监视指定的一个或多个响应式数据, 一旦数据变化, 就自动执行监视回调; watchEffect函数: 监视数据发生变化时回调
2. watch函数:默认初始时不执行回调, 但可以通过配置immediate为true, 来指定初始时立即执行第一次;
watchEffect函数: 默认初始时就会执行第一次, 从而可以收集需要监视的数据
3.watch函数:既要指明监视的属性,也要指明监视的回调
watchEffect函数:不用指明监视哪个属性,监视的回调中用到哪个属性就监视哪个属性
4.watch函数:监视ref定义的响应式数据时可以获取到原值
watchEffect函数:无法获取到原值,只能得到变化后的值