vue输入节流,避免实时请求接口的实例代码


Posted in Javascript onOctober 30, 2019

在做搜索的时候,当搜索页面只有一个输入框、没有确定按钮的时候,只能在用户输入时请求服务端,查询数据。这样会导致频繁的发送请求,造成服务端压力。

解决这个问题,可以使用vue做输入节流。

1、创建一个工具类,debounce.js

/***
 * @param func 输入完成的回调函数
 * @param delay 延迟时间
 */
export function debounce(func, delay) {
 let timer
 return (...args) => {
  if (timer) {
   clearTimeout(timer)
  }
  timer = setTimeout(() => {
   func.apply(this, args)
  }, delay)
 }
}

2、在搜索页面使用

<template>
 <div class="xn-container">
  <input type="text" class="text-input" v-model="search">
 </div>
</template>

<script>
 import {debounce} from '../utils/debounce'
 export default {
  name: 'HelloWorld',
  data () {
   return {
    search: ''
   }
  },
  created() {
   this.$watch('search', debounce((newQuery) => {
    // newQuery为输入的值
    console.log(newQuery)
   }, 200))
  }
 }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
 .text-input {
  display: block;
  width: 100%;
  height: 44px;
  border: 1px solid #d5d8df;
 }
</style>

以上这篇vue输入节流,避免实时请求接口的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
提高代码性能技巧谈—以创建千行表格为例
Jul 01 Javascript
javascript 变量作用域 代码分析
Jun 26 Javascript
JQuery读取XML文件数据并显示的实现代码
Dec 16 Javascript
extjs之去除s.gif的影响
Dec 25 Javascript
使用不同的方法结合/合并两个JS数组
Sep 18 Javascript
javascript实现全局匹配并替换的方法
Apr 27 Javascript
javascript实现表格增删改操作实例详解
May 15 Javascript
JQuery ztree 异步加载实例讲解
Feb 25 Javascript
vue.js入门教程之计算属性
Sep 01 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
May 26 Javascript
微信小程序:数据存储、传值、取值详解
May 07 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
vue 解决form表单提交但不跳转页面的问题
Oct 30 #Javascript
解决在Vue中使用axios用form表单出现的问题
Oct 30 #Javascript
vue路由 遍历生成复数router-link的例子
Oct 30 #Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
Oct 30 #Javascript
vue遍历生成的输入框 绑定及修改值示例
Oct 30 #Javascript
微信小程序基于高德地图查找位置并显示文字
Oct 30 #Javascript
vue 实现cli3.0中使用proxy进行代理转发
Oct 30 #Javascript
You might like
Yii框架登录流程分析
2014/12/03 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
javascript add event remove event
2008/04/07 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
详解python的数字类型变量与其方法
2016/11/20 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
python中学习K-Means和图片压缩
2017/11/20 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
企业法人授权委托书
2014/04/03 职场文书
安全目标责任书
2014/07/22 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技