项目开发过程中遇到需要在表单中上传视频并回显的情况,表单使用element-form,上传视频使用阿里云接口,在video标签里加了autoplay属性让视频自动播放。某天上班戴耳机听歌时才发现,表单关闭后视频竟然还在播放,并没有停止。

       本来想设置autoplay值为false,结果无效,网上一搜发现autoplay只有加和不加的区别,并不能控制true和false,于是写了个监听事件在表单关闭,即visible为false时让视频停止播放。

<video v-if="dataForm.url.indexOf('.mp4')>0" width="320" height="240" controls autoplay id="video">
    <source :src="dataForm.url" type="video/mp4">
    <source :src="dataForm.url" type="video/ogg">
    <source :src="dataForm.url" type="video/webm">
    <object :data="dataForm.url" width="320" height="240">
        <embed width="320" height="240" :src="dataForm.url">
    </object>
</video>
watch: {
    // 监听事件,表单页面关闭时结束视频播放
    'visible': function (val) {
        if (this.visible === false) {                         //visible为表单显示状态
            let myVideo = document.getElementById('video')    //对应video标签的ID
            myVideo.pause()
        }
    }
}

GitHub 加速计划 / vu / vue
108
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐