当前位置: 首页 > news >正文

vue--video使用动态src时,视频不更新

问题描述

在 Vue项目中,尝试动态更新 标签的 元素 src 属性来切换视频时,遇到了一个问题:即使 src 已更改,浏览器仍不显示视频。

<template><video width="100%" height="100%" controls@pause="showPlay ? onPause() : () => false"@playing="showPlay ? onPlaying() : () => false"><source :src="sourceSrc" type="video/mp4"></video>
</template>

原因分析

Vue 的虚拟 DOM 更新机制
尽管 sourceSrc发生了变化,但由于 和 标签的特殊性,Vue 的默认更新策略可能不会触发这些元素的重载。这意味着即使 src 属性改变了,实际的媒体资源并没有被重新加载。

解决方案:

方案1. 使用 key 属性
给 标签添加一个 :key=“sourceSrc” 绑定属性,使得每次 sourceSrc变化时,整个 元素都会被重新创建,从而强制刷新视频内容。

<template><video width="100%" height="100%" controls:key="sourceSrc"@pause="showPlay ? onPause() : () => false"@playing="showPlay ? onPlaying() : () => false"><source :src="sourceSrc" type="video/mp4"></video>
</template>

方案2. 直接绑定 src 属性到 标签
通过这种方式,您可以直接在 标签上设置 src 属性,这可能会减少由于 元素的存在而带来的复杂性。当 src 属性发生变化时,浏览器通常会自动重新加载视频,因为它是直接绑定到 元素上的。

<template><video width="100%" height="100%" controls:src="sourceSrc"@pause="showPlay ? onPause() : () => false"@playing="showPlay ? onPlaying() : () => false"></video>
</template>
http://www.dtcms.com/a/328700.html

相关文章:

  • Java零基础笔记16(Java编程核心:存储读写数据方案—File文件操作、IO流、IO框架)
  • 利用生成式AI与大语言模型(LLM)革新自动化软件测试 —— 测试工程师必读深度解析
  • PythonDay25
  • Android实现Glide/Coil样式图/视频加载框架,Kotlin
  • 《C++进阶之继承多态》【final + 继承与友元 + 继承与静态成员 + 继承模型 + 继承和组合】
  • mapbox进阶,实现精灵图生成和拆分(小图任意大小,不固定),并简单使用
  • 选择排序专栏
  • Docker安装influxdb以及python基本操作
  • 传输层协议 TCP(1)
  • latex 中将新的一个section重新从1开始排序,而不是和前面的section继续排序
  • 更改webpack默认配置项
  • 第二十二天:指针与内存
  • 【C++详解】用红黑树封装模拟实现mymap、myset
  • 代码随想录刷题Day30
  • UnityWeb打包注意事项及与网页端通信
  • 初识c语言————排序方法
  • 【游戏开发记录】一款网游+修仙为背景的游戏
  • 美国英语 8 You‘re Going to Be Fine 早日康复
  • Dify 从入门到精通(第 32/100 篇):Dify 的日志分析与监控
  • 1688跨境寻源通API接入||跨境寻源通有哪些具体的功能和优势?
  • 反射的详解
  • CAP理论深度解析与工程实践指南
  • USB基础 -- USB2.0设备插入的过程
  • 陕西西安一家IPO四年亏损近25亿负债率攀升,控制权稳定性遭质疑
  • 力扣121:买卖股票的最佳时机
  • 100、【OS】【Nuttx】【构建】cmake 配置保存
  • Xsens惯性动作捕捉系统
  • 数据库事务隔离:详解及Java面试题
  • MyBatis-Plus 分页失效问题解析:@Param 注解的影响与解决方案
  • amis表单较验