【发布时间】:2021-02-05 22:24:17
【问题描述】:
我正在尝试制作一个包含去抖动的方法(使用 Lodash),它可以动态传递其 wait 参数。
这是我尝试使用输入字段执行此操作的示例代码 - 每次用户进行输入时它都会记录“命中”:
<template>
<div id="app">
<input @input='validateInput1(400)'>
</div>
</template>
<script>
import _ from 'lodash';
export default {
name: "App",
data() {
return {
};
},
methods: {
validateInput1: _.debounce(function() {
console.log('Hit 1!');
}, 400),
validateInput2(delay = 1000) {
function test() {
console.log('Hit 2!');
}
const doDebounce = _.debounce(test, delay);
doDebounce();
}
}
};
</script>
https://codesandbox.io/s/eloquent-wescoff-hs8wi?file=/src/App.vue
我正在尝试两种不同的方法来实现这一目标。使用 validateInput1 方法,我看不到如何传入 wait 参数。
使用 validateInput2 方法,我可以传入 wait 参数,但是外部的 validateInput2 方法在我需要输入时立即运行整个方法通过 wait 运行。 validateInput1 方法在延迟后运行整个方法,但我无法通过 validateInput1 传入 wait 参数。
【问题讨论】:
标签: javascript vue.js lodash