vue3,watch监听使用总结。

情况一 :监听ref所定义的一个响应式数据

  const name = ref('张三')
  watch(name, (newVal, oldVal) => {
      console.log('name的值变化了',newVal, oldVal)
    },{immediate:true})

情况二:监听ref定义多个响应式数据

  const name = ref('张三')
  //参数一改为数组形式
  watch([name,age], (newVal, oldVal) => {
      console.log('name或者age的值变化了',newVal, oldVal)
    },{immediate:true})

情况三:监听reactive所定义的一个响应式数据的全部属性
注意一:此处无法正确获取oldVal
注意二:强制开启deep:true (deep配置失效)

情况四:监听reactive响应式数据中的某个属性,要将箭头函数写成函数return的方式才有效,一定不要踩坑哦!

 watch(perspn, (newVal, oldVal) => {
      console.log(newVal, oldVal)
    },{deep:false}) //deep:false 配置失效
   const p = reactive({
      name: 'zs',
      age: 18
    })
    //()=>p.name 为要监听的函数
    watch(() => p.name, (newVal, oldVal) => {
      console.log(newVal, oldVal)
    })
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值