【发布时间】:2019-05-21 01:20:49
【问题描述】:
考虑以下示例:
https://codesandbox.io/s/vdebounce-input-override-ej4nz
它是大型应用程序的简化(大部分是模拟)版本,使用 Observables 根据用户输入从多个 API 中获取过滤结果。我需要去抖输入。
在应用程序中,去抖动值较大,因此问题不太明显,但我在示例中降低了它以使问题更容易发现。我还尝试模拟服务器响应时间的随机性。
问题是,每当我收到回复时,如果我在输入中输入内容,我会丢失一些字符,具体取决于我输入的速度。
如果我删除v-debounce 指令(或.lazy 修饰符),问题就消失了,但没有去抖。
我还在 v-debounce 回购中提出了它。
我知道我可以完全转储 。v-debounce 并在手表内使用 lodash 的去抖动,但我希望我不必这样做(因为 v-debounce 应该为 Vue 提供服务,对吧! ?)。到目前为止,我一直尽量保持“Vue”
重要编辑:(在回答后)似乎有两个包定义了v-debounce 指令。好的在这里:npm,github。
npm i vue-debounce
我使用的是v-debounce 并覆盖了输入。
【问题讨论】:
标签: vue.js vuejs2 debounce v-debounce