在Vue项目中,有哪些具体应用场景适合使用节流防抖技术?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3198个文字,预计阅读时间需要13分钟。
故事背景:项目有一个需求是输入框在输入时进行搜索,展示下拉数据,但不需要输入一个字都进行搜索。因此,想到了在输入结束200毫秒后再进行搜索,从而避免了频繁的搜索请求。
JavaScript 节流(throttle)实现:
javascriptlet timer=null;function throttle(func, wait) { return function() { const context=this; const args=arguments; if (!timer) { timer=setTimeout(()=> { func.apply(context, args); timer=null; }, wait); } }}
// 使用节流函数包装搜索函数const search=throttle(function(inputValue) { // 搜索逻辑}, 200);
// 绑定输入框事件document.getElementById('searchInput').addEventListener('input', function(e) { search(e.target.value);});
故事背景:
项目有个需求是输入框在输入的时候进行搜索,展示下拉数据,但是没必要输入一个字都进行搜索,所以想到了在输入结束200毫秒后再进行搜索,从而引出来了 js的节流(throttle),防抖(debounce),在网上想找个现成的用下,但是好多都不对,于是就自己搞了。
本文共计3198个文字,预计阅读时间需要13分钟。
故事背景:项目有一个需求是输入框在输入时进行搜索,展示下拉数据,但不需要输入一个字都进行搜索。因此,想到了在输入结束200毫秒后再进行搜索,从而避免了频繁的搜索请求。
JavaScript 节流(throttle)实现:
javascriptlet timer=null;function throttle(func, wait) { return function() { const context=this; const args=arguments; if (!timer) { timer=setTimeout(()=> { func.apply(context, args); timer=null; }, wait); } }}
// 使用节流函数包装搜索函数const search=throttle(function(inputValue) { // 搜索逻辑}, 200);
// 绑定输入框事件document.getElementById('searchInput').addEventListener('input', function(e) { search(e.target.value);});
故事背景:
项目有个需求是输入框在输入的时候进行搜索,展示下拉数据,但是没必要输入一个字都进行搜索,所以想到了在输入结束200毫秒后再进行搜索,从而引出来了 js的节流(throttle),防抖(debounce),在网上想找个现成的用下,但是好多都不对,于是就自己搞了。

