vue3 的 router-view keep-alive寫法:
<router-view v-slot="{ Component, route }">
<keep-alive :include="includeList">
<component
:is="Component"
:key="route.name"
v-if="includeList.includes(route.name)"
/>
</keep-alive>
<component
:is="Component"
:key="route.name"
v-if="(!includeList.includes(route.name) && !route.meta.keepAlive)"
/>
</router-view>
- 首先確保
include傳的值為官方文檔中的三種形式:keep-alive - 確保
<component>對應的組件里面定義了name(<script setup>語法糖無法定義name,需改成非語法糖形式,自己取舍吧)
