// delay.js
// 简易防抖函数 封装在 delay.js 里面
export default (function () {
let timer = 0
return function (callback, ms) {
clearTimeout(timer)
timer = setTimeout(callback, ms)
}
})();
// About.vue
<template>
<div class="about">
<h1>关于</h1>
<input type="text" @input="handleInp" placeholder="请输入" > // 输入的时候防抖
</div>
</template>
<script>
import delay from '../assets/delay'; //引用函数
export default {
data() {
return {
msg:'回到Home',
vm:this,
}
},
created() {
console.log(delay);
},
methods: {
handleInp(e){
delay(vm=>{
console.log(1111);
this.handleAdd(); // 在防抖函数里面 调用其他方法也是可以的
},1000)
},
handleAdd(){
console.log(this.msg);
}
},
}
</script>