我的页面中有一个HTML5视频,我想动态设置src.

<video width="450" controls>
    <source v-model="controller.var" v-bind:src="var" type="video/mp4">
</video>

播放器不会加载视频,但我的var已正确设置为正确的url.

谢谢

推荐答案

首先,我不知道你是否真的在模板中使用了var,但如果是,Vue会在模板中抛出警告.

  • 避免在表达式中使用JavaScript关键字作为属性名:"var":src="var"

其次,不能动态更改源元素.

从HTML5 specification

因此,将数据绑定到video元素的src属性.

<video width="450" controls :src="video"></video>

console.clear()

new Vue({
  el:"#app",
  data:{
    video: "https://www.w3schools.com/tags/movie.mp4"
  },
  methods:{
    changeVideo(){
      this.video = "http://techslides.com/demos/sample-videos/small.mp4"
    }
  }
})
<script src="https://unpkg.com/vue@2.2.6/dist/vue.js"></script>
<div id="app">
  <video width="450" controls :src="video"></video>
  <div>
    <button @click="changeVideo">Change</button>
  </div>
</div>

Vue.js相关问答推荐

Vuetify 2中自定义标头的排序和筛选

如何使用 vueJS 上的 ref( ) 函数创建二维数组定义?

Vue CLI: 如何在一个vtextfield更改时让另一个vtextfield的值也同时更改,但同时又可以覆盖它?

:deep() 带有嵌套 scss 规则的语法

如何在Vue js 3中根据API响应替换react 值

VueJS:如何在组件数据属性中引用 this.$store

Vue cli 3项目,图像路径中的动态src不起作用

为什么不先移动鼠标就无法滚动视差?

将 props 传递给 Vue 组件中的元素属性

如何将 vuetify 2.0 beta 安装到新的 vue cli 项目中?

如何告诉 Vue 应用使用 Firebase 模拟器?

我可以在 Vue 实例方法中传播的 mapMutations 中使用this吗?

v-if inside v-for - 在两列中显示项目列表

从我的服务访问路由实例

错误:Node Sass 尚不支持您当前的环境:Linux 64-bit with Unsupported runtime (88)

为什么 Vue.js 使用 VDOM?

如何在 Vue.js 应用程序中正确下载 Excel 文件?

Vue.JS 2.0 修改不相关数据时速度慢

Vue Cli 3:定义的输出路径

Axios 捕获错误请求失败,状态码 404