项目中的情形是:视频、习题之间可以相互切换,点击习题弹出习题框,点击视频切换相应的视频
但出现一个问题,点击视频,视频是出现了,但是是两个一模一样的视频,快进后就会有两个声音,因为只能快进其中一个视频,问题在于没有取到实例,进而没有执行reloadPlayer()方法
在加了一个延时器之后,可以获取到相应的ref,就不会出现这种情况,一个undefined,困扰一整天。。。
<Aliplayer
:vid="vid"
:playauth="playauth"
format="mp4"
ref="playerInteraction"
v-if="showAliplayer"
>
</Aliplayer>
//播放视频
async _playAuth(vid) {
this.showExam = false;
let res = await postRequest(`/v3/upload/getVideoPlayAuth/${vid}`,null,true);
this.playauth = res.result.PlayAuth;
this.cover = res.result.CoverURL;
this.showAliplayer = true;
setTimeout(()=>{
this.$refs.playerInteraction.reloadPlayer();
},200)
},