【vue3】keep-alive缓存组件

  • include定义要缓存的组件名。注意,不是引入的别称,就是组件的文件名
  • exclude定义不缓存的组件名。一样的,这里是组件的文件名
  • max最多缓存多少个组件。如果组件个数大于max,会自动剔除掉不常用的
  • 使用keep-alive后会增加两个生命周期:onDeactivatedonActivated(在子组件内使用)
html 复制代码
<template>

    <div class="yyx-box">
        <el-button type="primary" @click="change">切换组件</el-button>
        <!-- include定义要缓存的组件名。注意,不是引入的别称,就是组件的文件名 -->
        <!-- exclude定义不缓存的组件名。一样的,这里是组件的文件名 -->
        <!-- max最多缓存多少个组件。如果组件个数大于max,会自动剔除掉不常用的 -->
        <!-- 使用keep-alive后会增加两个生命周期:onDeactivated、onActivated(在子组件内使用) -->
        <keep-alive :include="['test1','test2']" :exclude="['test2']" :max="1">
            <Test1 v-if="flag"></Test1>
            <Test2 v-else></Test2>
        </keep-alive>

    </div>



</template>

<script setup lang='ts'>
    import { ref } from 'vue'
    import Test1 from '../components/test1.vue';
    import Test2 from '../components/test2.vue';

    let flag = ref<boolean>(true)
    const change  = ()=>{
        flag.value = !flag.value
    }


</script>
<style scoped lang='scss'>
    @include b(box){
        height: 100%;
        overflow: auto;
    }

</style>
相关推荐
37手游后端团队10 分钟前
websocket连接管理
前端·后端·websocket
bin915319 分钟前
DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar)
前端·javascript·vue.js·ecmascript·deepseek
YiHanXii21 分钟前
XSS(跨站脚本攻击)
前端·网络·xss
LinDaiuuj32 分钟前
编程中,!! 双感叹号的理解
前端·javascript
呦呦鹿鸣Rzh36 分钟前
SpringMVC的请求-文件上传
java·前端·html
samroom36 分钟前
ES6规范新特性总结
前端·javascript·es6
linpengteng1 小时前
开发 ArkTS 版 HarmonyOS 日志库 —— logger
前端·app·harmonyos
Violet5151 小时前
前端本地DeepSeek的RAG最小化MVP - 基于Ollama+LlamaIndex实现RAG Pipeline
前端·deepseek
PW1 小时前
万字总结腾讯一面——现在的面试越来越注重效率了
前端·javascript·面试
sg_knight1 小时前
Flutter性能优化终极指南:从JIT到AOT的深度调优
前端·flutter·性能优化·web·dart