vue-video-play点击表格按钮播放不同的视频


当我点击表格第一行的查看按钮,显示出两个视频,我再点击第二行出现的是第一行的视频,视频地址没有更新过来,有没有大佬帮帮孩子,纠结一下午了~~~o(╥﹏╥)o
这是页面的视频代码:

<li v-for="(item, index) in proinfo.videoList" :key="index">
    <video-player class="video-player vjs-custom-skin"
           ref="videoPlayer"
           :playsinline="true"
           :options="playerOptions[index]"></video-player>
</li>

这是获取数据的代码:

//查看按钮
    lookbtn(row) {
      this.msg = 1
      this.dialogVisibleLook = true;
      this.axios
        .adminLookProductBtn({
          id: row.id,
        })
        .then((res) => {
          if (res.data.code == 101) {
            this.proinfo = res.data.data;
            let arr = []
            this.proinfo.videoList.forEach((v, i) => {
              arr.push({ url: this.proinfo.videoList[i] })
            })
            this.proinfo.videoList = arr;
             console.log(this.proinfo.videoList)

            for (let i of this.proinfo.videoList) {
              let arrs = {
                playbackRates: [1.0, 2.0, 3.0], //播放速度
                autoplay: false, //如果true,浏览器准备好时开始回放。
                muted: false, // 默认情况下将会消除任何音频。
                loop: false, // 导致视频一结束就重新开始。
                preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
                language: 'zh-CN',
                aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
                fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
                sources: [
                  {
                    type: '',
                    src: i.url, //url地址
                  },
                ],
                poster: '', //封面地址
                notSupportedMessage: '此视频暂无法播放,请稍后再试', //允许覆盖Video.js无法播放媒体源时显示的默认信息。
                controlBar: {
                  timeDivider: true,
                  durationDisplay: true,
                  remainingTimeDisplay: false,
                  fullscreenToggle: true, //全屏按钮
                },
              }
              this.playerOptions.push(arrs);
            }
          }
        })
        .catch((err) => {})
    },

怎样才能动态获取视频地址?

阅读 2.1k
1 个回答

没有初始化proinfo.videoList 这个list吧 导致第二次点击的时候添加了或者没有更新

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题