vue3可以对页面(组件)缓存,再次进去这个页面时,不需要再次加载页面。
keep-alive
需要在component跳转的路由页面外部加一个<keep-alive></keep-alive>组件,includ记录需要被缓存的页面的名称,接收为数组,如果跳转的页面的没有放在includ的书中中,不会被缓存
<router-view v-slot="{ Component, route }">
<transition :name="setTransitionName" mode="out-in">
<keep-alive :include="keepAliveNameList2">
<component :is="Component" class="w100" />
</keep-alive>
</transition>
</router-view>
<script lang="ts" setup>
const keepAliveNameList2 = ['pageA', 'pageB']
</script>
include中已经有页面名称,没有生效
keep-alive中includ数组中的组件需要要命名,所以在需要添加缓存的组件中,添加:
<script lang="ts">
export default { name: 'pageA' };
</script>
//或者
<script lang="ts" setup name="pageA">
</script>