vue2监听器watch

监听器watch

实时监视数据变化,执行一些业务逻辑或异步操作,一旦监听的数据变化了立马执行

  • watch声明在跟data同级的配置项中

  • 两种写法

    1. 简单类型数据直接监听(使用的是方法的写法)

      watch: {
        // 该方法会在数据变化时,触发执行
        数据属性名 (newValue, oldValue) {
          一些业务逻辑 或 异步操作。 
        },
        '对象.属性名' (newValue, oldValue) {
          一些业务逻辑 或 异步操作。 
        }
      }
      

      eg:

      data: { 
        num: 0,
        obj: {
          num: 0
        }
      },
      
      watch: {
        // 该方法会在数据变化时,触发执行
        // 接收一个新值一个旧值,只要新值可以省略旧值参数
        num (newValue, oldValue) {
            
          一些业务逻辑 或 异步操作。 
        },
            // js中属性名有特殊字符需要加引号
        'obj.num' (newValue, oldValue) {
          一些业务逻辑 或 异步操作。 
        }
      }
      
    2. 添加额外的配置项(使用的是对象的写法)

      • deep: true 对复杂类型进行深度的监听,比如对象中的所有属性
      • immdiate: true 初始化,进入页面立即执行一次
      watch: {// watch 完整写法
        对象: {
          deep: true, // 深度监视
          immdiate:true,//立即执行handler函数
          handler (newValue) {
              // 处理逻辑
            console.log(newValue)
          }
        }
      }
      

      eg:

      data: { 
        obj: {
          num: 0,
          money: 0
        }
      },
      
      watch: {
        obj: {
          deep: true, // 深度监视
          immdiate:true,//立即执行handler函数
          handler (newValue) {
              // 处理逻辑
            console.log(newValue)
          }
        }
      }
      
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恸426

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值