Vue3 setup语法 怎么去写scroll的防抖功能

function debounce(fn, wait) {
    var timeout = null;
    return function() {
        if(timeout !== null) 
                clearTimeout(timeout);
        timeout = setTimeout(fn, wait);
    }
}
// 处理函数
function handle() {
    console.log(Math.random()); 
}
// 滚动事件
window.addEventListener('scroll', debounce(handle, 1000));

这个代码用 setup 写时,这个绑定怎么写
下面代码有问题

<div @scroll="debounce(mousewheel,1000)"></div>

setup(){
        function debounce(fn,wait) {
            let timeoutID = null
            return function () {
                if (timeoutID != null) clearTimeout(timeoutID) 
                timeoutID = setTimeout(fn,wait)
            }
        }

        function mousewheel(e){
            console.log(e);
        }
        
                return {
            mousewheel,debounce
        }

}
阅读 5.2k
1 个回答
<div @scroll="mousewheel"></div>

function debounce(fn,wait) {
            let timeoutID = null
            return function () {
                if (timeoutID != null) clearTimeout(timeoutID) 
                timeoutID = setTimeout(fn,wait)
            }
        }

setup(){

        const mousewheel = debounce((e){
            console.log(e);
        }, 1000)
        
                return {
            mousewheel
        }

}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题