watch(第一参数,第二个参数,第三个参数)
功能:
侦听数据的变化。和选项式api中的watch实现的功能一样,组合式api中watch功能更加强大,灵活。默认是懒侦听的,即仅在侦听源发生变化时才执行回调函数。
参数:
第一个参数:侦听器的源,可以是以下几种:
一个函数(返回一个值的函数)
一个 ref
一个响应式对象
...或是由以上类型的值组成的数组
第二个参数:在(第一个参数的值)发生变化时要调用的回调函数。
这个回调函数接受三个参数:
新值、旧值,以及一个用于注册副作用清理的回调函数。该回调函数会在副作用下一次重新执行前调用,可以用来清除无效的副作用,例如:等待中的异步请求。
当侦听多个来源时,回调函数接受两个数组,分别对应来源数组中的新值和旧值。
第三个参数:可选的,是一个对象,支持以下这些选项:
immediate:在侦听器创建时立即触发回调。第一次调用时旧值是undefined。
deep:如果源是对象,强制深度遍历,以便在深层级变更时触发回调。
1)当侦听多个来源时,回调函数接受两个数组,分别对应来源数组中的新值和旧值
2)当使用 getter 函数作为源时,回调只在此函数的返回值变化时才会触发。如果你想让回调在深层级变更时也能触发,你需要使用deep: true。
3)强制侦听器进入深层级模式。在深层级模式时,如果回调函数由于深层级的变更而被触发,那么新值和旧值将是同一个对象。
4)当直接侦听一个响应式对象时,侦听器会自动启用深层模式
vue3里面的watch
最新推荐文章于 2024-08-15 01:13:27 发布