html - v-for 具有相同 id 标签的动态视频会产生错误
问题描述
我目前正在上传一个视频文件并使用 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
传递给函数的默认对象来访问视频元素。
这样,您可以删除id
分配给video
元素的重复属性。
<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();
}
}
查看工作示例
推荐阅读
- python - 如何检查数据库值是否已经存在
- c# - 在 C# 中创建三元条件
- c# - xamarin 形成如何从后面的代码中填充选择器
- javascript - 添加更多 STUN 服务器会增加 WebRTC 连接的机会吗?
- python - python请求冻结程序
- java - Java Spring MongoDB 存储库接口
- kubernetes - 是否可以在 KubeletConfiguration 中将 RotateCertificates 设置为 false
- arrays - 替换 this.state 中的 Array 元素
- python-3.x - Tkinter - 如何在条目中使用波兰字体
- python - 在列表框中显示 sql 查询的结果时去掉括号(Tkinter 和 Python)