場景:在一個視頻列表頁面,點擊視頻列表,則全屏播放視頻。全屏播放是一個公用組件,每次點擊視頻列表則把該視頻的播放地址通過vue的數據雙休綁定到組件中的video標籤,如下:
<video controls="controls" :poster="videoThumb" playsinline id="playVideos">
<source :src="videoUrl" type="video/mp4"/>
</video>
this.videoUrl = url;
this.videoThumb = thumb;
結果:第一次播放沒有問題,從第二次開始仍然播放的是第一次播放的視頻。
分析:vue綁定video標籤的src屬性無效,可以通過給DOM的src屬性賦值,方法如下:
let videos = document.getElementById('playVideos');
videos.src = url;