【发布时间】:2015-12-03 04:01:18
【问题描述】:
我正在尝试按照Vue.js docs 使用debounce 过滤器,这样我可以防止在用户输入输入时触发Ajax 函数。过去,我使用setTimeout 手动阻止在输入每个字母后发送请求并使用重置延迟,但我想使用Vue.js 方式。
这是我尝试过的:
<input
v-model="myInput"
v-on="keyup: someAjaxFunction | debounce 500"
>
文档中没有专门针对此过滤器提供示例。我把过滤器放在正确的地方了吗?
去抖动
此过滤器仅适用于 v-on
此过滤器采用一个可选参数
包装处理程序以在 X 毫秒内对其进行去抖动处理,其中 X 是论据。默认为 300 毫秒。去抖处理程序将被延迟 直到呼叫时刻后至少经过 X 毫秒;如果处理程序 在延迟周期之前再次调用,延迟周期被重置为 X 毫秒。
我也试过这个:(因为文档提到“包装处理程序......”)
<input
v-model="myInput"
v-on="keyup: debounce( someAjaxFunction, 500 )"
>
我真的可以举个例子。
【问题讨论】:
-
请注意,这个问题适用于 Vue.js v1;去抖过滤器在 v2 (details) 中被移除
标签: javascript vue.js