TS类型定义的一些问题

<video
            style="width:66px;height:66px;display:block"
            :src="videoItem.url"
            :poster="videoItem.cover"
            @canplay="VideoCoverLoad"
          >your browser does not support the video tag</video>

function VideoCoverLoad(e: Event) {
  console.log(e.target.videoWidth, e.target.videoHeight)
}

img

这里类型定义有问题
所以 canplay 函数 VideoCoverLoad 的参数 e 类型是什么?

从哪里可以看到要定义什么类型(定义完成知道可以鼠标点过去看。想要的是还没定义之前。怎么知道要定义什么类型)

react是这么写

 <video onCanPlay={(event:SyntheticEvent<HTMLVideoElement, Event>)=>{}}></video>

vue的话试试
HTMLVideoElement ?

按住ctrl 鼠标左键

img

img

看对应的元素类型试试


e.currentTarget.videoWidth

这个类型F12就可以看到,应该没什么说的吧