记录监听reactive定义的响应式数据的某个属性

记录:在vue3中,watch监听ref,reactive写法不同,因为ref是创建父对象,reactive是创建本身的对象。所以在watch中,reactive需要使用一个箭头函数来进行监听,你要监视的对象的某个属性还是个对象的时候,就要开启deep:true

const p = reactive({
      name: 'zs',
      age: 18
    })
watch(() => p.age,(newVal, oldVal) => {
     console.log(newVal, oldVal)
   },
   {
     immediate: true,// 首次渲染组件就触发一次
     // 开启深度监听,对象里面的数据如果发生变化也会被侦听到
     // 如果监听的数据是一个比较长的表达式,那么需要用一个函数的方式
     // 但是写成函数形式之后,里层的数据变化不到,所以需要添加deep选项
     deep: true
   }
 )

猜你喜欢

转载自blog.csdn.net/Lucky_girl_wan/article/details/122243168