我目前正在上传一个视频文件,并使用 v-for 使用视频的 URL 创建视频标签。在每个标签中,我都有"myVideo"的 ID,我知道我不能在一个页面上有两个相同的 ID,但否则我如何定位正确的视频?
这是我动态制作的代码。
<video @click="playPause" v-if="card.type == 'Video'" class="card__video" :src="card.imageurl[0]" id="myVideo"></video>
点击方法是:
playPause() {
const myVideo = document.getElementById("myVideo")
if(myVideo.paused) {
myVideo.play()
} else {
myVideo.pause()
}
}
我的页面上有多个视频,但只有第一个播放,因为它只针对第一个视频,id="myVideo"
可以使用传递给函数的默认event
对象来访问视频元素。
这样,您可以删除分配给video
元素的重复id
属性。
<video @click="playPause" v-if="card.type == 'Video'" class="card__video" :src="card.imageurl[0]"></video>
playPause(event) {
const myVideo = event.target;
if(myVideo.paused) {
myVideo.play();
} else {
myVideo.pause();
}
}
查看工作示例