<router-view #default="{ Component, route }">
<keep-alive :include="['User']">
<component :is="Component" :key="route.name" />
</keep-alive>
</router-view>
vue3的setup无法组件命名,keep-alive include必须要组件命名
匹配首先检查组件自身的 name 选项,如果 name 选项不可用,则匹配它的局部注册名称 (父组件 components 选项的键值)。匿名组件不能被匹配。
所以在页面组件中需要添加 name才能动态keep-alive
<script lang="ts">
export default {
name: 'User'
}
</script>