不努力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日

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制