在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>
相关推荐
刘一说14 分钟前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
徐同保1 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js
fanruitian1 小时前
uniapp 创建项目
javascript·vue.js·uni-app
惊讶的猫1 小时前
Redis双写一致性
数据库·redis·缓存
刘一说2 小时前
Vue 导航守卫未生效问题解析:为什么路由守卫不执行或逻辑失效?
前端·javascript·vue.js
一周七喜h2 小时前
在Vue3和TypeScripts中使用pinia
前端·javascript·vue.js
weixin_395448912 小时前
main.c_cursor_0202
前端·网络·算法
老虎06272 小时前
Redis入门,配置,常见面试题总结
数据库·redis·缓存
J&Lu3 小时前
[DDD大营销-Redis]
数据库·redis·缓存
东东5163 小时前
基于vue的电商购物网站vue +ssm
java·前端·javascript·vue.js·毕业设计·毕设