在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>
相关推荐
用户0333074139511 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
web3d52012 小时前
Vue3 地图白屏排查清单:容器、弹窗与 ol-viewport 重复创建
vue.js·gis
daisychey12 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒13 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员13 小时前
iOS冷启动监控Demo
前端
光影少年13 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱13 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO14 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天14 小时前
趋势过滤:避免被“假突破“反复打脸
前端
8年区块链老兵14 小时前
一篇文章教会你:用区块高度读懂比特币链上的每一笔交易
前端