watchEffect()函数
watchEffect()函数是vue3中的一个新的函数,Effect翻译过来有反应的意思,所以又叫监视反应
它也可以做监视,但是它最大的特点就是不说监视谁,直接写回调
下面通过案例演示下watchEffect的简单使用
引用watchEffect
和其他函数一样,在vue3中想要使用,就必须先定义
// 引入watchEffect函数
import watchEffect} from "vue";
编写watchEffect
它最大的特点就是不说监视谁,直接写回调,而且没有newValue和oldValue这两个参数
可以发现一上来就执行了,但是谁也每被监视
watchEffect很智能,它会通过函数体发现用到了哪个属性,用到了哪个属性才会监视哪个属性,并且会自动解析多级对象
这样就能帮助我们写一些复杂的逻辑,只要监测到改变哪个属性,就能执行哪些逻辑或者函数,可以提高我们的开发效率
watchEffect函数总结
-
watch的套路是:既要指明监视的属性,也要指明监视的回调。
-
watchEffect的套路是:不用指明监视哪个属性,监视的回调中用到哪个属性,那就监视哪个属性。
-
watchEffect有点像computed:
- 但computed注重的计算出来的值(回调函数的返回值),所以必须要写返回值。
- 而watchEffect更注重的是过程(回调函数的函数体),所以不用写返回值。
-
//watchEffect所指定的回调中用到的数据只要发生变化,则直接重新执行回调。 watchEffect(()=>{ const x1 = sum.value const x2 = person.age console.log('watchEffect配置的回调执行了') })