vue中通过数据双向绑定给video标签的src赋值,只有第一次有效,怎么解决?

本文介绍了一个在Vue中使用视频播放组件遇到的问题,当连续点击不同视频时,播放器只显示第一个视频。分析发现,Vue的数据绑定在video标签的src属性上失效。文章提供了通过直接操作DOM解决此问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:在一个视频列表页面,点击视频列表,则全屏播放视频。全屏播放是一个公用组件,每次点击视频列表则把该视频的播放地址通过vue的数据双向绑定到组件中的video标签,如下:

<video controls="controls" :poster="videoThumb" playsinline id="playVideos">
    <source :src="videoUrl" type="video/mp4"/>
</video>
this.videoUrl = url;
this.videoThumb = thumb;

结果:第一次播放没有问题,从第二次开始仍然播放的是第一次播放的视频。

分析:vue绑定video标签的src属性无效,可以通过给DOM的src属性赋值,方法如下:

let videos = document.getElementById('playVideos');
videos.src = url;

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值