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 相关文章推荐
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 Javascript
使用jQuery操作Cookies的实现代码
Oct 09 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
Jul 26 Javascript
jQuery绑定事件不执行但alert后可以正常执行
Jun 03 Javascript
express的中间件basicAuth详解
Dec 04 Javascript
使用Node.js实现HTTP 206内容分片的教程
Jun 23 Javascript
JavaScript中的Repaint和Reflow用法详解
Jul 27 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
实例讲解javascript注册事件处理函数
Jan 09 Javascript
微信小程序获取用户openId的实现方法
May 23 Javascript
Vue底层实现原理总结
Feb 17 Javascript
vue 修改 data 数据问题并实时显示的方法
Aug 27 Javascript
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
Terran魔法科技
2020/03/14 星际争霸
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
学习php开源项目的源码指南
2014/12/21 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
vue中子组件向父组件传递数据的实例代码(实现加减功能)
2018/04/20 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
python删除列表中重复记录的方法
2015/04/28 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
夜大毕业自我鉴定
2013/10/11 职场文书
策划助理岗位职责
2013/11/18 职场文书
实习自我鉴定
2013/12/15 职场文书
教学大赛获奖感言
2014/01/15 职场文书
医学专业职业生涯规划范文
2014/02/05 职场文书
上课看小说检讨书
2014/02/22 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书
2015入党自荐书范文
2015/03/05 职场文书
Redis入门教程详解
2021/08/30 Redis
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python