keep-alive的两个属性的作用

简介: keep-alive的两个属性的作用


   keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。


   keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。


作用:


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


  Keep-alive 组件提供了 include 和 exclude 两个属性,允许组件有条件的进行缓存:


   (1) include: 字符串或正则表达式。只有匹配的组件会被缓存。


   (2) exclude: 字符串或正则表达式。任何匹配的组件都不会被缓存。


   (3) max - 数字。最多可以缓存多少组件实例


原理:


Vue 的缓存机制并不是直接存储 DOM 结构,而是将 DOM 节点抽象成了一个个 VNode节点,因此,Vue 的 keep-alive 缓存也是基于 VNode节点 而不是直接存储 DOM 节点。


生命周期:


被包含在 keep-alive 中创建的组件,会多出两个生命周期的钩子:


activated(组件激活时使用) 与 deactivated(组件离开时调用);

相关文章
高质量毕业答辩PPT模板+PPT网站
高质量毕业答辩PPT模板+PPT网站
1161 0
|
JavaScript 前端开发
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
2333 0
|
设计模式 人工智能 数据可视化
AI + 低代码技术揭秘(七):设计器和渲染器
本文档介绍VTJ低代码体验的可视化设计环境(@vtj/designer)和运行时渲染系统(@vtj/renderer)。Designer提供拖放式组件编辑功能,Renderer负责DSL架构的实时渲染与执行。两者通过iframe集成,支持响应式设计、多模式渲染及性能优化,实现高效开发与实时预览。
346 0
|
自然语言处理 前端开发 JavaScript
ECharts实现雷达图详解
ECharts 是百度开源的一款强大的数据可视化工具,支持多种图表类型如折线图、柱状图、饼图等,并提供丰富的交互功能。其核心实现原理包括数据驱动、Canvas/SVG渲染、响应式布局、动画效果、事件监听等。本文通过具体示例介绍了如何使用 ECharts 实现交互式雷达图,包括引入库、创建图表容器、配置雷达图、添加交互功能及动态数据更新等功能。通过简单的步骤即可在网页中展示绚丽的数据大屏。
2646 4
ECharts实现雷达图详解
|
SQL 存储 关系型数据库
MySQL 回收表碎片实践教程
在 MySQL 数据库中,随着数据的增删改操作,表空间可能会出现碎片化,这不仅会占用额外的存储空间,还可能降低表的扫描效率,特别是一些大表,在进行数据清理后会产生大量的碎片。本篇文章我们一起来学习下如何进行碎片回收以及相关注意点。
1008 1
MySQL 回收表碎片实践教程
|
JavaScript
Vue Print-js 打印问题记录~
Vue Print-js 打印问题记录~
|
JavaScript IDE 开发工具
找不到模块“./App.vue”或其相应的类型声明。ts(2307)
这篇文章介绍了在Vue 3 + TypeScript + Vite开发环境中解决找不到`.vue`文件模块或其类型声明错误的两种方法:使用VSCode的TypeScript Vue Plugin (Volar)插件或手动在`env.d.ts`文件中声明`*.vue`模块类型。
4140 1
找不到模块“./App.vue”或其相应的类型声明。ts(2307)
|
弹性计算 Linux 网络安全
阿里云ECS云服务器如何开放8080端口?
阿里云服务器ECS处于安全考虑默认自带安全组(仅开放了22号和3389号端口),Tomcat的默认端口号为8080,所以想使用Tomcat不开放8080端口是不行的。很多用户通过修改iptables来开放8080号端口,结果失败,这是由于安全组,对安全组,阿里云亘古不变的安全组开放端口问题。
58444 1
|
编解码 前端开发 JavaScript
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
826 2