keep-aliave

1. 简介
keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。
和 transition 相似,keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。

作用: 在组件切换过程中将状态保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性。

原理: 在 created 函数调用时将需要缓存的 VNode 节点保存在 this.cache 中/在 render(页面渲染) 时,如果 VNode 的 name 符合缓存条件(可以用 include 以及 exclude 控制),则会从 this.cache 中取出之前缓存的 VNode 实例进行渲染。
(VNode:虚拟DOM,其实就是一个JS对象)

2. 使用
2.1 参数

参数名 值 描述
include 字符串或正则表达式 只有名称匹配的组件会被缓存。
exclude 字符串或正则表达式 任何名称匹配的组件都不会被缓存。
max 数字 最多可以缓存多少组件实例。
注意: include/exclude 值是组件中的 name 命名,而不是路由中的组件 name 命名;

2.1 参数

 

参数名描述
include 字符串或正则表达式 只有名称匹配的组件会被缓存。
exclude 字符串或正则表达式 任何名称匹配的组件都不会被缓存。
max 数字 最多可以缓存多少组件实例。

 

 

 

 

 

 

            <transition name="fade-transform" mode="out-in">
              <keep-alive :include="['dashboard','newfile']">
                <router-view :key="this.$route.path" />
              </keep-alive>
            </transition>

 


————————————————
版权声明:本文为CSDN博主「明天也要努力」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ZYS10000/article/details/122480733

posted @ 2022-11-11 17:02  hello_stone  阅读(49)  评论(0)    收藏  举报