VUE3使用keep-alive页面切换时报错:parentComponent.ctx.deactivate is not a function
问题描述:这是官方示例代码:<router-view v-slot="{ Component }"><keep-alive><component :is="Component"v-if="$route.meta.keepAlive"/></keep-alive><component :is="Component"v-i
·
问题描述:
这是官方示例代码: <router-view v-slot="{ Component }">
<keep-alive>
<component :is="Component" v-if="$route.meta.keepAlive"/>
</keep-alive>
<component :is="Component" v-if="!$route.meta.keepAlive"/>
</router-view>
但是在tab页面切换时极大概率会报错:
解决方案:
将代码改为如下(在路由节点内配置name属性,且保证为唯一标识,或其它唯一标识也行):
<router-view v-slot="{ Component }">
<keep-alive>
<component :is="Component" :key="$route.name" v-if="$route.meta.keepAlive"/>
</keep-alive>
<component :is="Component" :key="$route.name" v-if="!$route.meta.keepAlive"/>
</router-view>
更多推荐
已为社区贡献1条内容
所有评论(0)