Vue3中的watch监听

目录

一、监听基础ref类型

1、监听单个ref数据

2、 监听多个ref数据

二、监听reactive类型

1、监听对象中单个属性

 2、监听对象中多个属性

  3、同时监听ref基本类型数据和reactive对象中的属性

 4、监听整个对象

  5、监听对象中值为对象的属性

三、watchEffect


一、监听基础ref类型

1、监听单个ref数据

Vue3中的watch监听_第1张图片

Vue3中的watch监听_第2张图片

2、 监听多个ref数据

Vue3中的watch监听_第3张图片

Vue3中的watch监听_第4张图片

二、监听reactive类型

1、监听对象中单个属性

监听 user.more.iPhone 属性,那么只有当iPhone属性发生变更时,才会触发 watch 方法,其他属性变更不会触发 watch 方法。注意,此时的第一个参数是一个箭头函数

Vue3中的watch监听_第5张图片Vue3中的watch监听_第6张图片

 2、监听对象中多个属性

Vue3中的watch监听_第7张图片

Vue3中的watch监听_第8张图片

  3、同时监听ref基本类型数据和reactive对象中的属性

 Vue3中的watch监听_第9张图片Vue3中的watch监听_第10张图片

 4、监听整个对象

当监听整个对象时,只要这个对象有任何修改,那么就会触发 watch 方法。无论是其子属性变更(如 user.name),还是孙属性变更(如 user.more.iPhone)...,都是会触发 watch 方法的。

Vue3中的watch监听_第11张图片

Vue3中的watch监听_第12张图片

  5、监听对象中值为对象的属性

方式1:不用箭头函数,则可以不用deep:true

Vue3中的watch监听_第13张图片

 方式二:用箭头函数时,则必须加上{deep:true}才能触发监听

Vue3中的watch监听_第14张图片

三、watchEffect

不用指明监视哪个属性,监视的回调用到哪个属性,就去监视哪个属性

  1. watch可以访问新值和旧值,watchEffect不能访问。
  2. watch需要指明监听的对象,也需要指明监听的回调。watchEffect不用指明监视哪一个属性,监视的回调函数中用到哪个属性,就监视哪个属性。
  3. watch只有监听的值发生变化的时候才会执行,但是watchEffect不同,每次代码加载watchEffect都会执行。

Vue3中的watch监听_第15张图片




你可能感兴趣的:(vue3,前端,javascript,开发语言)