介绍
我们在写搜索框时想让它晚一段时间出数据,或者在我们高频触发下会执行很多次,而先要实现这个效果如果用其他的方法很难实现,以前一直知道有防抖和节流这么一说,但是一直都没有自己实现过,今天无意间在看vue官网的时候发现了这个效果,现在就实现一下吧
我们现在index.html中全局引入js文件,当然也可以局部引入,全看个人喜好
<script src="https://cdn.jsdelivr.net/npm/lodash@4.13.1/lodash.min.js"></script>
接下来就是使用了
<template>
<div>
<button @click="Click">防抖</button>
<div>{{iN}}</div>
<button @click="Click2">节流</button>
<div>{{iN2}}</div>
</div>
</template>
<script>
export default {
name: "HelloWorld",
data() {
return {
iN:0,
iN2:0
};
},
methods:{
Click: _.debounce(function(){
this.iN++;
},500),
Click2: _.throttle(function(){
this.iN2++;
},5000)
}
}
</script>
是不是感觉特别简单呢,前人种树,后人乘凉,前端就是要不断发掘的,我们的前辈已经为我们封装了各种框架、库,给我们打下了坚实的基础,大家一起加油吧
网友评论