From 3d66a890c2179381bcc1a37303de349ff5c02a37 Mon Sep 17 00:00:00 2001 From: alger Date: Sun, 11 May 2025 11:53:31 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=E4=BC=98=E5=8C=96=E6=AD=8C?= =?UTF-8?q?=E6=89=8B=E8=AF=A6=E6=83=85=E9=A1=B5=E7=9A=84=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E7=9B=91=E5=90=AC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/views/artist/detail.vue | 33 +++++++++++----------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/renderer/views/artist/detail.vue b/src/renderer/views/artist/detail.vue index 551c22b..a41563b 100644 --- a/src/renderer/views/artist/detail.vue +++ b/src/renderer/views/artist/detail.vue @@ -326,29 +326,22 @@ watch([songsLoadMoreRef, albumsLoadMoreRef], () => { setupObservers(); }); -// 监听路由参数变化,避免URL改变但未触发组件重新创建 -watch( - () => route.params.id, - (newId, oldId) => { - if (newId && newId !== oldId) { - previousId.value = newId as string; +onActivated(() => { + // 确保当前路由是艺术家详情页 + if (route.name === 'artistDetail') { + const currentId = route.params.id as string; + + // 首次加载或ID变化时加载数据 + if (!previousId.value || previousId.value !== currentId) { + console.log('ID已变化,加载新数据'); + previousId.value = currentId; + activeTab.value = 'songs'; loadArtistInfo(); } + + // 重新设置观察器 + setupObservers(); } -); - -onActivated(() => { - const currentId = route.params.id as string; - - // 首次加载或ID变化时加载数据 - if (!previousId.value || previousId.value !== currentId) { - console.log('ID已变化,加载新数据'); - previousId.value = currentId; - loadArtistInfo(); - } - - // 重新设置观察器 - setupObservers(); }); onMounted(() => {