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/>

类型
image.png

在运行后
image.png

这个 flag 是什么

阅读 4.3k
1 个回答

function scrollhandle(e, ...flag)中的剩余参数组成的数组
比如这样调用, flag的值就是一个数组:[1,2,3]

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