当两个组件 都可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”)文章来源:https://www.toymoban.com/news/detail-743402.html
<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"这句代码就能解决此报错。文章来源地址https://www.toymoban.com/news/detail-743402.html
到了这里,关于TypeError: parentComponent.ctx.deactivate is not a function的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!