vue中watch在初始化时不执行回调

在Vue项目的组件中,通过watch监听 formData 的变化并调用后台接口。初始加载时,由于immediate: true配置,导致接口被不必要地调用了一次。为解决此问题,只需移除immediate: true,确保在formData改变时才执行回调函数,避免了页面加载时的额外请求。
摘要由CSDN通过智能技术生成

问题描述:

做项目过程中,使用watch监听某个组件的值,然后在回调函数中调用后台的接口获取数据;后来发现在页面初始化时会调用一次接口,而这次接口调用是没有必要的;

解决方法:

去掉immediate: true 这行代码;

immediate: true 表示在页面初始化时立即执行一次回调函数;

watch: {
    'formData': {
      handler: function(val) {
        this.$emit('handleChange',val)
      },
      deep: true,
      //immediate: true
    }
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值