watch 的基本用法和深度监控

本文详细介绍了Vue2和Vue3中watch的使用,包括普通写法和深度监控。在Vue2中,展示了如何监听selectValue和category的变化,并进行相应操作。而在Vue3中,采用reactive和watch,演示了如何深度监控对象detailState的gameName属性,并在变化时执行相应逻辑。深度监控通过设置`deep:true`确保任何属性变化都能触发回调。
摘要由CSDN通过智能技术生成

watch 的基本用法和深度监控

普通写法

watch: {
    selectValue(newVal, oldVal) {
      if (newVal != oldVal) {
        this.selectValue = newVal;
        this.changeSelect();
        this.showTable();
      }
    },
    category(newVal, oldVal) {
      if (newVal != oldVal) {
        this.category = newVal;
        this.showTable();
      }
    },
  },

深度监控

 watch: {
          //  监听mydata对象,属性值 handler 固定写法
          mydata: {
              handler: function (newVal, oldVal) {
                  if (newVal !== oldVal) {
                      // 做处理
			          this.getDataList();
			        }
              },
              deep: true,
              // 代表开启深度监控。意思是数据的任何一个属性发生变化,监视函数需要执行
              immediate: true,
              // 如果immediate 设置为true, 代表代码一加载 立马执行监视函数
          }
      }

监控对象的属性(vue3写法)

vue3写法:监控对象的属性

import { reactive, ref, watch } from "vue";
 // ...
 
 // 监控这个对象中的gameName
	const detailState = reactive({
      groupId: "",
      productName: "",
      status: "0",
      principalUserId: "",
      operateUserId: "",
      remark: "",
      productGroupId: "",
      gameName: [], 
    });
    
	watch(()=>detailState.gameName,(n,o)=>{
      if(n != o){
        //...
      }
    });
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值