首页 > 其他分享 >vue节流和防抖的实现

vue节流和防抖的实现

时间:2024-11-04 15:15:38浏览次数:6  
标签:防抖 vue throttle 节流 temp res getList param val

防抖 场景

search搜索时,用户在不断输入值时,用防抖来节约请求资源。

输入框动态搜索  @change='handleSearch'

async getList(val) {
  let param;
  if (val && val !== undefined) {
    param = {
        parameter: val
    }
  }
  const { data } = await getLists(param)
  this.list = data
},

handleSearch(val) {
    clearTimeout(this.timer); // 清除之前的定时器
    this.timer = setTimeout(() => {
        this.getList(val);
    }, 300); // 等待一段时间后执行搜索操作
}

节流 场景

鼠标不断点击触发,(单位时间内只触发一次)
监听滚动事件,比如是否滑到底部自动加载更多,用throttle来判断

@click = "getList"
  
<script>
// 节流方法
  throttle(fn, time) {
    let temp = false;
    return function () {
      if (temp) {
        return;
      } else {
        temp = true; 
        setTimeout(() => {
          fn.apply(this, arguments);
          temp = false;
        }, time);
      }
    };
  },
  getList(e) {
    // 疯狂触发点击事件
    throttle(getlists, 2000)
  },
  getlists(){
    const res = getlists().then((res)=>{
      console.log(res,'res')
    })
  }
</script>

标签:防抖,vue,throttle,节流,temp,res,getList,param,val
From: https://blog.csdn.net/m1011815213/article/details/143485159

相关文章

  • (开题报告)django+vue电影推荐系统APP源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景关于电影推荐系统的研究,现有研究多集中在推荐算法的优化、单一框架的实现等方面。专门针对django+vue组合框架构建电影推荐系统APP的研......
  • 基于ssm+vue基于web的软件资源库的设计与实现(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景在信息化高速发展的今天,软件资源的管理与共享成为提升工作效率、促进知识传播的重要手段。关于软件资源库的设计与实现,现有研究主要以大型企业内部的......
  • 基于ssm+vue基于Web的社团管理信息系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景在当今信息化高速发展的时代,社团作为高校及社区文化的重要组成部分,其管理效率与信息化水平直接关系到社团活动的质量与成员参与的积极性。关于社团管......
  • 基于ssm+vue基于web的师生互动平台(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景在教育信息化快速发展的背景下,师生互动作为提升教学质量和学习效果的关键环节,日益受到重视。当前,关于师生互动的研究主要集中在传统课堂环境下的互动......
  • 基于ssm+vue基于web的社团管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景随着信息技术的飞速发展,基于Web的管理系统已广泛应用于各个领域,极大地提高了管理效率和用户体验。关于社团管理的研究,现有研究主要以传统管理方式为......
  • (开题报告)django+vue基于的商品销售信息系统源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着互联网技术的迅猛发展,电子商务在全球范围内蓬勃发展。关于商品销售信息管理系统的研究,现有研究主要以传统的销售模式与简单的信息......
  • VUE - 配置根目录(用@代表src目录)
    VUE-配置根目录(用@代表src目录)在Vue项目中,@ 符号通常被用作一个别名,代表项目中的 src 目录。这通常是通过webpack的resolve.alias配置实现的。例如,如果你有一个Vue组件在 src/components 目录下,你可以在这个组件中这样导入它:importMyComponentfrom'@/compon......
  • Vue.js 混入(Mixins)高级用法:提升代码复用与灵活性
    在Vue.js中,混入(Mixins)是一种灵活的方式来分散可复用的代码。它们允许你将组件的选项分散到多个组件中,从而提升代码的复用性和灵活性。以下是一些混入的高级用法及示例。1.基础概念混入是一个包含Vue组件选项的对象,任何包含该混入的组件都可以使用这些选项。//定义......
  • Vue 响应式原理(数据双向绑定) - 2024最新版前端秋招面试短期突击面试题【100道】
    Vue响应式原理(数据双向绑定)-2024最新版前端秋招面试短期突击面试题【100道】......