Vue3/ Vue3 和 Vue2 lodash 解决防抖 搜索框 场景

一.  Vue3 和 Vue2  lodash 解决防抖 搜索框 场景

 首先 npm install lodash 下载

 然后 import form 引入 下载后的 lodash 

import lodash form 'lodash'

  1. Vue里面防抖一般使用在 watch 和 method 上面 (防抖是单位时间内 只执行最后一次函数 一般用在搜索框优化上面)
  2. 一般用两种写法
  • 在created 里面 在this上定义一个新函数 接收debounce的返回值
  • 在methods里面定义方法的时候 不推荐 因为如果这个组件在当前页面使用多次 那么防抖可能出现故障 这个就类似于 data 为什么必须是一个函数的问题 , 组件每次新建都必须是一个地址 防抖也不例外

    3.关于watch的调用 还需要注意在 离开当前组件之前 最后一次防抖函数 需要手动调用 cance取消 或者 flush 立即执行 (在destroyed 钩子函数里面 已经优化三个了 remove事件绑定 , clearinterval清除定时器 , 取消防抖的函数执行)

$1. vue3 里面定义方法的时候,直接在setup里面使用 防抖函数包裹一下

const 变量名 = lodash.debounce(() => {
  console.log(val.value);
}, 500)

$2. Vue2里面有两种方法

第一种:

在 created 里面 有this上定义一个新函数 接收debounce的返回值

created(){

 this.debounceInput = this.debounce(this.handle, 1000,false)

}

第二种:

在methods里面定义方法的时候 不推荐 因为如果这个组件在当前页面使用的多次 那么防抖可能出现故障 这个就类似用于 data 为什么必须一个函数的问题 组件每次新建 都必须是一个新地址 防抖也不例外

changeValue: _.debounce((e) => {
  console.log(e, this);
}, 500)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值