您的位置:首页 > Web前端 > Vue.js

vue中使用防抖函数

2019-03-04 12:39 741 查看
[code]<input v-model="searchText" @input='search' placeholder="搜索电影" class="search-placeholder">

在公共的js文件utils.js中添加防抖函数如下:

[code]export default {
debounce(fn, delay = 300) {   //默认300毫秒
var timer;
return function() {
var args = arguments;
if(timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn.apply(this, args);   // this 指向vue
}, delay);
};
}
}

调用:

[code]import utils from "@/js/utils";

export default {

methods: {
search: utils.debounce(function() {
let v = this;
let serchURL = `/movie/search?q=${v.searchText}&start=0&count=10`;
v.$axios
.get(serchURL)
.then(response => {
v.processSearchData(response.data);
})
.catch(error => {
console.log(error)
})
.finally()
})
}

}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: