千家信息网

vue 中怎么使用防抖和节流防止重复点击

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,vue 中怎么使用防抖和节流防止重复点击,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。/** * 函数防抖 (只执行最后
千家信息网最后更新 2025年01月31日vue 中怎么使用防抖和节流防止重复点击

vue 中怎么使用防抖和节流防止重复点击,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

/** * 函数防抖 (只执行最后一次点击)

* @param fn

 * @param delay * @returns {Function} * @constructor */export const Debounce = (fn, t) => {    let delay = t || 500;    let timer;    console.log(fn)    console.log(typeof fn)    return function () {        let args = arguments;        if(timer){            clearTimeout(timer);        }        timer = setTimeout(() => {            timer = null;            fn.apply(this, args);        }, delay);    }};  /** * 函数节流 * @param fn * @param interval * @returns {Function} * @constructor */export const Throttle = (fn, t) => {    let last;    let timer;    let interval = t || 500;    return function () {        let args = arguments;        let now = +new Date();        if (last && now - last < interval) {            clearTimeout(timer);            timer = setTimeout(() => {                last = now;                fn.apply(this, args);            }, interval);        } else {            last = now;            fn.apply(this, args);        }    }};

用法:

methods:{  getAliyunData:Throttle(function(){  ...   },1000),}

案例2:

防抖和节流是我们在开发过程中常用优化性能的方式

在 vue 中怎么使用:

1、在公共方法中(如 public.js 中),加入函数防抖和节流方法

// 防抖export function _debounce(fn, delay) {     var delay = delay || 200;    var timer;    return function () {        var th = this;        var args = arguments;        if (timer) {            clearTimeout(timer);        }        timer = setTimeout(function () {            timer = null;            fn.apply(th, args);        }, delay);    };}// 节流export function _throttle(fn, interval) {    var last;    var timer;    var interval = interval || 200;    return function () {        var th = this;        var args = arguments;        var now = +new Date();        if (last && now - last < interval) {            clearTimeout(timer);            timer = setTimeout(function () {                last = now;                fn.apply(th, args);            }, interval);        } else {            last = now;            fn.apply(th, args);        }    }}

2、在需要使用的组件引用

import { _debounce } from "@/utils/public";

3、在 methods 中使用

 methods: {    // 改变场数    changefield: _debounce(function(_type, index, item) {        // do something ...    }, 200)  }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

函数 方法 帮助 清楚 内容 对此 常用 性能 文章 新手 方式 更多 案例 知识 组件 行业 资讯 资讯频道 过程 难题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 ibm服务器风扇高速转和响 郑州最好的软件开发培训班 数据库安全技术分析论文 服务器生成大量文件 网络安全校企合作的好处 wps中如何筛选错误数据库 美团优选显示服务器异常 怎么看主机是不是服务器主板 网络安全训练营第三十九讲 帝国神话有哪些服务器 易语言窗口间传递数据库 北京软件开发学校有哪些问题 网络技术推广员 2022年企业网络安全挑战 网络技术二级分销 我的世界0.14.3版本怎么进服务器 2016网络安全法 t320 服务器电源指示灯 科技公司互联网公司硕士待遇 创魔怎么看服务器有多少部落 微信数据库分析 服务器一直正在登录 计算机网络技术宿舍局域网 django 视频服务器 新荣区机械网络安全创新服务 明日之后莫洛城堡服务器 鹿泉科技园 互联网公司 落实网络安全法二十一条 级融媒体中心网络安全规范 把服务器搞个镜像不关机
0