diff --git a/src/views/MediaView/MediaView.vue b/src/views/MediaView/MediaView.vue index 82ac953..58e970a 100644 --- a/src/views/MediaView/MediaView.vue +++ b/src/views/MediaView/MediaView.vue @@ -269,16 +269,20 @@ async function download(v) { } } -// 同路由 tab 切换不会卸载组件;离开直播中心时必须清播放态/心跳/viewer lease +// 同路由 tab 切换不会卸载组件:离开时清会话/列表缓存,进入时重新拉 list watch(view, async (next, prev) => { - if (prev === 'live' && next !== 'live') { + if (!prev || next === prev) return + + if (prev === 'live') { openSeq += 1 await closeActiveLive() - return + liveStreams.value = [] } - if (next === 'live' && prev && prev !== 'live') { - await load() + if (prev === 'videos') { + videos.value = [] } + + await load() }) onMounted(load)