不努力code 2022-08-11 16:13 采纳率: 60%
浏览 259
已结题

vue3 keep-alive 热更新报错

vue3 keep-alive 热更新报错,我为component加上了key,每次一保存的时候就不行,刷新一下又好了,热更新的问题,怎么解决
代码
<script lang="ts" setup>
import { ref, computed, watch, onUnmounted } from "vue"
// import { computed } from "vue"
import { useStore } from "@/store"
import { useRoute } from "vue-router"
import NavHeader from "@/components/nav-header"
import pageFooter from "@/components/page-footer"
// 缓存组件
const store = useStore()
const include = computed(() => store.state.keepAlive.include)
// 当前name+t
const route = useRoute()

let currentName = ref(route.name as string)
const unwatchRoute = watch(
  () => route.matched,
  () => {
    currentName.value = (route.name as string) || ""
  }
)
onUnmounted(unwatchRoute)
</script>
<template>
  <div class="main flex flex-column" id="main">
    <NavHeader />
    <div class="contents flex-1 pageCenter">
      <router-view v-slot="{ Component }">
        <keep-alive :max="10" :include="include">
          <component :is="Component" :key="currentName" />
        </keep-alive>
      </router-view>
    </div>
    <page-footer />
  </div>
</template>

<style lang="less" scoped>
.main {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  overflow-y: auto;
  overflow-y: overlay;
  .pageCenter {
  }
}
</style>


错误是这样的: parentComponent.ctx.deactivate is not a function

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-08-12 17:17
    关注
    你可以参考下这篇文章:Vue3中的keep-alive路由缓存
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 创建了问题 8月11日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改