第八篇:监视`ref`定义的【基本类型】数据 和对象类型

一:【watch】监视`ref`定义的【基本类型】数据

  • 作用:监视数据的变化(和Vue2中的watch作用一致)

  • 特点:Vue3中的watch只能监视以下四种数据

  1. ref定义的数据。

  2. reactive定义的数据。

  3. 函数返回一个值(getter函数)。

  4. 一个包含上述内容的数组。

我们在Vue3中使用watch的时候,通常会遇到以下几种情况 ,

在一定情况下,停止监控:stopWatch

watch(第一个参数,第二个参数) // 第一个参数是监控谁 ,第二个参数是回调函数



二:【watch】监视`ref`定义的【对象】数据

监视ref定义的【对象类型】数据:直接写数据名,监视的是对象的【地址值】,若想监视对象内部的数据,要手动开启深度监视。

注意:

  • 若修改的是ref定义的对象中的属性,newValueoldValue 都是新值,因为它们是同一个对象。

  • 若修改整个ref定义的对象,newValue 是新值, oldValue 是旧值,因为不是同一个对象了。

注意:

{deep:true,immediate:true})

// deep:true  深度监视

// mmediate:true 立即监视



* 情况三

监视reactive定义的【对象类型】数据,且默认开启了深度监视。

  // 监视,情况三:监视【reactive】定义的【对象类型】数据,且默认是开启深度监视的



* 情况四

监视refreactive定义的【对象类型】数据中的某个属性,注意点如下:

  1. 若该属性值不是【对象类型】,需要写成函数形式。

  2. 若该属性值是依然是【对象类型】,可直接编,也可写成函数,建议写成函数。

结论:监视的要是对象里的属性,那么最好写函数式,注意点:若是对象监视的是地址值,需要关注对象内部,需要手动开启深度监视。



* 情况五

监视上述的多个数据 ,不同的属性



你可能感兴趣的:(前端,vue.js)