| src/layouts/Content.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/layouts/Content.vue
@@ -16,9 +16,17 @@ // 关闭页签时 keep-alive 会自动清除对应缓存 const activeCacheNames = computed(() => { const cacheRoutes = routeStore.cacheRoutes return tabStore.allTabs let names = tabStore.allTabs .map(tab => tab.name as string) .filter(name => name && cacheRoutes.includes(name)) // 核心修复点:当执行 handleReload() 也就是 loadFlag === false 时,从 include 中剔除当前路由 // 这将迫使 Vue 立刻销毁缓存中的该脏实例,当 loadFlag 恢复 true 时才能正常引发所有页面请求与挂载钩子。 if (!appStore.loadFlag && route.name) { names = names.filter(n => n !== route.name) } return names }) </script>