咨询电话:
15628812133
18
2023/05

Vue中使用防抖与节流

发布时间:2023-05-18 10:11:40
发布者:純真丁一郎です
浏览量:
0

Vue的防抖与节流

首先我们先看一下防抖和节流的定义。

防抖:在同一时间段执行多次,但是只在最后一次有效(执行);每次触发函数清除掉原来的定时器,重新开始计时。如果在规定时间内不再触发函数,则执行,否则,清除掉之前的定时器,重新计时。
节流:在一段时间内,只能触发一次函数。

今天突然发现了一个问题,做搜索效果时每输入一个字母或者数字,都会立刻请求一次,如果输入量过大可能会对服务器造成影响,并且点击刷新时,会立刻请求三次,原因是使用了watch监听,但是没有使用防抖函数,现在把防抖函数加入到代码中。

屏幕截图(42).png

屏幕截图(43).png

我在外部建立了名为config的js文件,在其中构建了防抖和节流函数,这里以防抖函数为例。

屏幕截图(44).png

使用如下代码引入

import { debounce } from '@/untils/config.js'

方法代码如下

屏幕截图(45).png

这里的function是第一个参数,200是第二个参数,为计时器时间,可以根据需要来修改。

这里踩了一个坑,虽然requestTable后面没有了“(){}”,但它还是一个方法,所以调用的时候依然需要加().

this.requestTable()

节流函数可依照以上方法来实现,只需要改一个方法名,因为所需要的参数是一样的。

关键词:
返回列表
相关文章