Vue3 scroll 事件(一般只有事件对象)有两个参数?
<div class="e" @scroll.prevent="scroll" >
<!-- 因为 scroll 事件会冒泡所以绑定在父元素 -->
<img src="G:\\1.png"/>
<img src="G:\\1.png"/>
<img src="G:\\1.png"/>
<img src="G:\\1.png"/>
<img src="G:\\1.png"/>
</div>
<script lang="ts">
import {defineComponent} from "vue";
export default defineComponent({
setup() {
// 防抖
function debounce(fn:Function,wait:number) {
let timeoutID:any = null
let flag = true
return function (e:any) {
if (timeoutID != null&&flag) clearTimeout(timeoutID)
timeoutID = setTimeout(fn,wait,e,flag)
}
}
function scrollhandl(e:UIEvent,...flag:any[]){
let target = e.target as HTMLElement
// [Property 'scrollTop' does not exist on type 'EventTarget'.](https://gitter.im/Microsoft/TypeScript/archives/2016/01/23)
console.log(target.scrollTop);
console.log(flag);
}
const scroll = debounce(scrollhandl,1000)
return {scroll}
}
})
<script/>
类型
在运行后
这个 flag 是什么
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是
function scrollhandle(e, ...flag)
中的剩余参数
组成的数组比如这样调用,
flag
的值就是一个数组:[1,2,3]