当我点击表格第一行的查看按钮,显示出两个视频,我再点击第二行出现的是第一行的视频,视频地址没有更新过来,有没有大佬帮帮孩子,纠结一下午了~~~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) => {})
},
怎样才能动态获取视频地址?
没有初始化proinfo.videoList 这个list吧 导致第二次点击的时候添加了或者没有更新