欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

关于vue项目中搜索节流的实现代码

时间:2021-05-24 08:51:21|栏目:vue|点击:

在这里插入图片描述

我们经常会遇到这种需求,现在我们在使用百度搜索的时候他们的思想也是

根据防抖节流而实现的,至于用防抖还是节流根据自己需求。

<template>
 <input type="text"  v-model.trim="sse">
</template>
<script>
const delay = (function () {
 let timer = 0
 return function (callback, ms) {
  clearTimeout(timer)
  timer = setTimeout(callback, ms)
 }
})()
export default {
 name : 'search',
 watch : {
 sse () {
 delay(() => {
    this.search()
   }, 500)
},
methods :{
 search () {
    this.$axios
     .get([url])
     .then(response => {
      // success
     })
     .catch(error => {
      // error
      alert('失败!')
     })
}
}
}
}
</script>

知识点扩展:

关于各种Vue UI框架中加载进度条的正确使用

这里拿MUSE UI 中的进度条举例

  <mu-circular-progress :size="40" class="icon" v-if="isloading"/>
  <div v-show="!isloading">
   <p>内容</p>
  </div>

//数据初始化
 data () {
  return {
   isloading: false
  }
 },
 //页面加载之前
 mounted () {
   this.isloading = true
   this.$axios
    .get([
     '/api/playlist/detail?id=' +
      this.$route.params.id
    ])
    .then(response => {
     // success
     // console.log(response.data)
     this.name = response.data.playlist.name
     this.list = response.data.playlist.tracks
     this.isloading = false
    })
    .catch(error => {
     // error
     alert('失败!')
     console.log(error)
    })
  }

页面加载之前this.isloading = true

v-show='false'不显示页面

当获取数据完毕后

this.isloading = false

进度条消失,页面显示

总结

上一篇:解决vue2中使用elementUi打包报错的问题

栏    目:vue

下一篇:解决vue2 在mounted函数无法获取prop中的变量问题

本文标题:关于vue项目中搜索节流的实现代码

本文地址:http://www.codeinn.net/misctech/128021.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有