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 相关文章推荐
js cookies 常见网页木马挂马代码 24小时只加载一次
Apr 13 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 Javascript
JS.elementGetStyle(element, style)应用示例
Sep 24 Javascript
jquery分页插件jpaginate在IE中不兼容问题
Apr 22 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
Jun 01 Javascript
jQuery实现的图片轮播效果完整示例
Sep 12 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
Jan 05 Javascript
详解require.js配置路径的用法和css的引入
Sep 06 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
Sep 05 Javascript
js贪心算法 钱币找零问题代码实例
Sep 11 Javascript
详解Vue2的diff算法
Jan 06 Vue.js
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
PHP伪静态写法附代码
2008/06/20 PHP
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
用Python进行websocket接口测试
2020/10/16 Python
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
学院书画协会部门岗位职责
2013/12/01 职场文书
《燕子》教学反思
2014/02/18 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
超市创意活动方案
2014/08/15 职场文书
党建工作整改措施
2014/10/28 职场文书
龙猫观后感
2015/06/09 职场文书
七一慰问简报
2015/07/20 职场文书
公司员工培训管理制度
2015/08/04 职场文书
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server