我正在尝试将debounce包与 Vue.jsv-on:scroll
绑定一起使用,如下所示:
<div @scroll="debounce(onScrollMessages, 200)"></div>
问题是它debounce
实际上返回了要使用的去抖动函数,但是以这种方式绑定事件实际上会调用debounce(onScrollMessages, 200)
每个滚动事件,这意味着每个滚动事件都会计算并创建去抖动函数。
实际问题是@scroll
将事件绑定如下:
onScroll: function () {
debounce(onScrollMessages, 200);
}
但是,为了使去抖动函数只计算一次,它应该绑定事件,如下所示:
// Notice how now the scroll event calls directly the
// debounced function returned by "debounce()", not the
// function that calls "debounce()"
onScroll: debounce(onScrollMessages, 200)
如何将@scroll
事件绑定到由返回的函数而不是每次debounce()
调用的函数?debounce()