在Vue3中使用缓存组件keep-alive vue3缓存组件

在Vue3中使用缓存组件keep-alive vue3缓存组件

  • 1、路由开启缓存
  • [2、App.vue中使用 keep-alive](#2、App.vue中使用 keep-alive)
  • [3、缓存组件激活 生命周期](#3、缓存组件激活 生命周期)
    • [3.1 组合式 语法风格](#3.1 组合式 语法风格)
    • [3.2 选项式 语法风格](#3.2 选项式 语法风格)

1、路由开启缓存

js 复制代码
const routes = [
  {
    path: '/',
    component: Home,
    meta: {
      keepAlive: true, // 设置需要缓存的组件
    },
  },
  {
    path: '/about',
    component: About,
    meta: {
      keepAlive: true, // 设置需要缓存的组件
    },
  },
  // 其他路由配置
];

2、App.vue中使用 keep-alive

keep-alive组件 在vue3中写法和vue2不一样

html 复制代码
<template>
	<div>
    <!-- Vue3缓存组件,写法和Vue2不一样-->
    <router-view v-slot="{ Component }">
      <!-- 使用 keep-alive 缓存组件 -->
      <keep-alive>
        <component :is="Component" />
      </keep-alive>
    </router-view>
  </div>
</template>

<style>
#app {
  text-align: center;
  color: var(--ep-text-color-primary);
}
</style>

3、缓存组件激活 生命周期

3.1 组合式 语法风格

js 复制代码
<script>
export default {
  activated() {
    // 缓存组件在被激活时会进入这里
  },
};

<script>

3.2 选项式 语法风格

js 复制代码
<script setup>
import { onActivated} from 'vue'

onActivated(() => {
 console.info('缓存组件重新激活')
})
</script>
相关推荐
kyriewen5 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒6 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮6 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦7 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer7 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队7 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY7 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_7 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏8 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站8 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控