当两个组件 都可keepalive 的时候 切换就回报这个错误
runtime-core.esm-bundler.js:6086 Uncaught (in promise) TypeError: parentComponent.ctx.deactivate is not a function
路由的问题
之前的写法是
<router-view
class="router-view"
v-slot="{ Component, route }"
>
<keep-alive v-if="Component">
<component
:is="Component"
v-if="route.meta.keepAlive"
></component>
</keep-alive>
<component
:is="Component"
v-if="!route.meta.keepAlive"
></component>
</router-view>
在路由节点内配置name属性,且保证为唯一标识,或其它唯一标识也行(:key=“route.name”)
<router-view
class="router-view"
v-slot="{ Component, route }"
>
<keep-alive v-if="Component">
<component
:is="Component"
:key="route.name"
v-if="route.meta.keepAlive"
></component>
</keep-alive>
<component
:is="Component"
:key="route.name"
v-if="!route.meta.keepAlive"
></component>
</router-view>
加上:key="route.name"这句代码就能解决此报错。