vue3+ts如何通过lodash实现防抖节流详解
作者:qq_45489665 发布时间:2024-05-02 16:32:13
标签:lodash,防抖,节流
安装lodash
npm i --save-dev @types/lodash
在组件中引入lodash
import * as _ from 'lodash'
防抖
_.debounce(func, [wait=0], [options=]) 函数在延迟几毫秒之后才执行,也就是停止改变几秒后执行
参数
func (Function): 要防抖动的函数。
[wait=0] (number): 需要延迟的毫秒数。
[options=] (Object): 选项对象。
[options.leading=false] (boolean): 指定在延迟开始前调用。
[options.maxWait] (number): 设置 func 允许被延迟的最大值。
[options.trailing=true] (boolean): 指定在延迟结束后调用。
<script setup lang="ts">
import * as _ from 'lodash'
//防抖的函数应该是click事件
const fangdou = _.debounce(click, 500, {
leading: true, // 延长开始后调用
trailing: false // 延长结束前调用
})
function click() {
//响应点击
console.log("123")
}
//移除组件时,取消防抖
onUnmounted(()=>{
fangdou.cancel()
})
</script>
<template>
<button @click="fangdou">fangdou</button>
</template>
节流
_.throttle(func, [wait=0], [options=]) 第一次会立即执行一次,然后等到过了毫秒数才会执行,以一定的频率后续处理
参数
func (Function): 要节流的函数。
[wait=0] (number): 需要节流的毫秒。
[options=] (Object): 选项对象。
[options.leading=true] (boolean): 指定调用在节流开始前。
[options.trailing=true] (boolean): 指定调用在节流结束后。
<script setup lang="ts">
import * as _ from 'lodash'
const throttle = _.throttle(() =>{
console.log('I get fired every two seconds!')
},2000,{
leading: true,
trailing: false
})
//移除组件时,取消节流
onUnmounted(()=>{
throttle.cancel()
})
</script>
<template>
<button @click="throttle">jieliu</button>
</template>
补充:vue3 引入lodash报错
在 shims-vue.d.ts 文件夹下添加
declare module 'lodash'
全部代码
/* eslint-disable */
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}
declare module 'lodash'
来源:https://blog.csdn.net/qq_45489665/article/details/124542361


猜你喜欢
- 本文实例讲述了mysql数据表的基本操作之表结构操作,字段操作。分享给大家供大家参考,具体如下:本节介绍:表结构操作创建数据表、查看数据表和
- 我们在浏览网页的时候偶尔会遇到一些陌生的网页交互行为,通常情况下它们并不会影响你的正常使用,之所以出现情况往往是因为,设计师在设计某个交互方
- 1、当前日期select DATE_SUB(curdate(),INTERVAL 0 DAY) ;2、明天日期select DATE_SUB
- ACCESS有个BUG,那就是在使用 like 搜索时如果遇到日文就会出现“内存溢出”的问题,提示“80040e14/内
- 开篇这段时间把主要精力都放在了K8S上,差点把Golang给忘了。那本篇就分享一下并发相关的内容(Goroutine和通道)。 本篇给出4个
- 1、有时候我们可能想让字符串倒序输出,下面给出几种方法方法一:通过索引的方法>>> strA = "abcdeg
- php去掉数组的第一个值的两种删除方法:1、使用array_shift()函数删除数组的第一个值,语法“array_sh
- 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Pyt
- 前言最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要
- matplotlib在widgets模块提供Cursor类用于支持十字光标的生成。另外官方还提供了自定义十字光标的实例。widgets模块C
- Python语言中import的使用很简单,直接使用 import module_name 语句导入即可。这里我主要写一下"imp
- 要求:求出列表中的所有值的最大数,包括列表中带有子列表的。按照Python给出的内置函数(max)只能求出列表中的最大值,无法求出包括列表中
- 超级鹰平台验证码的破解可以有以下方式:简单的数字字母组合可以使用图像识别(python 现成模块),成功率不高使用第三方打码平台(破解验证码
- Python自定义邻接表图类图抽象数据类型(ADT)的术语顶点(Vertex):也称节点(node),是图的基础部分。具有名称标识&
- 尽管asyncio库是使用单线程来实现协程的,但是它还是并发的,乱序执行的。可以说是单线程的调度系统,并且由于执行时有延时或者I/O中断等因
- import导入包搜索路径import用于导入包:import ( "fmt"
- step函数概述step函数用于绘制阶梯图。根据源码可知,step函数是对plot函数的轻量级封装,很多概念和用法与plot函数非常相似。d
- 1.漏洞介绍在XHTML 1.0标准下,使用特殊构造的CSS样式,在Internet Explorer 7.0
- 本文实例为大家分享了vue实现百度搜索功能的具体代码,供大家参考,具体内容如下最终效果:Baidusearch.vue所有代码:<te
- 效果图实例代码今天我们要用微信小程序实现2048小游戏,效果图如上面所示。游戏的规则很简单,你需要控制所有方块向同一个方向运动,两个相同数字