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

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日

悬赏问题

  • ¥15 端口转发器解析失败不知道电脑设置了啥
  • ¥15 Latex算法流程图行号自定义
  • ¥15 关于#python#的问题:我在自己的电脑上运行起来总是报错,希望能给我一个详细的教程,(开发工具-github)
  • ¥40 基于51单片机实现球赛计分器功能
  • ¥15 cs2游戏画面卡住,应用程序sid与指挥者sid不匹配
  • ¥15 实验七:Pandas要有实验截图和代码
  • ¥15 TypeError: Make sure that the iterable only contains strings.
  • ¥35 电脑放图书馆,这是被黑了吗
  • ¥15 等高线中数据取消科学计数法
  • ¥15 Qt播放10路ffmpeg 视频流