Vue:keep-alive的用法总结

要配置西门子G120XA变频器实现**端子启停**和**Modbus RTU(485)频率给定 如有问题,可通过STARTER软件在线诊断Modbus通讯状态。要配置西门子G120AX变频器实现。 阅读详情

什么时候用到keep-alive

如果没有缓存,每点击一次导航,内容区就会创建一个组件,该组件会经历整个生命周期,每点击一次,就会创建一个组件,比较浪费性能,
这时,我们就要考虑到是否能将点击过的已创建的组件进行缓存,当再次点击已访问过的组件时,这时,就会从缓存中获取该组件,而不会重新创建,这就用到keep-alive

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

<keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。主要用于保留组件状态或避免重新渲染。
当组件在 <keep-alive> 内被切换,它的 activated 和 deactivated 这两个生命周期钩子函数将会被对应执行。

 include(会缓存的) 和 exclude(不会缓存的)   二者都可以用逗号分隔字符串、正则表达式或一个数组来表示:
<!-- 逗号分隔字符串 -->
<keep-alive include="a,b">
  <component :is="view"></component>
</keep-alive>
<!-- 正则表达式 (使用 `v-bind`) -->
<keep-alive :include="/a|b/">
  <component :is="view"></component>
</keep-alive>
<!-- 数组 (使用 `v-bind`) -->
<keep-alive :include="['a', 'b']">
  <component :is="view"></component>
</keep-alive>

匹配首先检查组件自身的 name 选项,如果 name 选项不可用,则匹配它的局部注册名称 (父组件 components 选项的键值)。匿名组件不能被匹配。

keep-alive对应两个生命周期, activated(){} deactivated(){}
当从缓存中读取a组件时,此时a组件处于活跃状态,
当从缓存中读取b组件时,a组件处于缓存状态,此时b组件处于活跃状态,
用途:
例如: 当在a组件浏览小说到某个位置,这时,我切换到b组件,那么就用a组件的缓存状态函数( deactivated )记录这个位置,
当我再次切换到a组件,用活跃状态函数( activated ) 回到该位置

activated() {
  console.log("活跃状态");
},

deactivated() {
  console.log("缓存状态")
}

最多可以缓存多少组件实例。一旦这个数字达到了,在新实例被创建之前,已缓存组件中最久没有被访问的实例会被销毁掉。

<keep-alive :max="10">
  <component :is="view"></component>
</keep-alive>

复杂情况可以使用: meta配合keepalive

export default [
  {
  path:'/',
  name:'home',
  components:Home,
  meta:{
    keepAlive:true //需要被缓存的组件
  },
  {
  path:'/book',
  name:'book',
  components:Book,
  meta:{
    keepAlive:false //不需要被缓存的组件
  }
]


<keep-alive>
  <!--这里是会被缓存的组件-->
  <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>

<!--这里是不会被缓存的组件-->
<router-view v-if="!$route.meta.keepAlive"></router-view>

基于Autoware制作高精地图(一) 基于Autoware制作高精地图(一) ​开始进入正题,也是最近在忙的一件事,制作高精地图。 高精地图的制作大概分为以下四个流程(不一定完全正确): 1.构建点云地图; 2.点云地图标注; 3.制作OpenDrive地图; 4.地图存储索引。 这篇文章主要讲解如何构建点云地图。 首先我们要有一段自己录制的激光雷达点云数据,这里推荐大家采用Velodyne16线激光雷达,因为这里我们构建的点云底图是三维的,而采用Velodyne而不是速腾聚创(rslidar)等其他品牌的原因是Autoware里面有一个选项是 阅读详情

相关推荐

车辆TBOX科普 第7次 TBOX技术深度解析:硬件架构与核心组件详解

摘要: TBOX(车载远程信息处理单元)是智能网联汽车的核心组件,承担数据采集、通信连接与安全交互等关键功能。其硬件架构以主控单元为核心,采用ARM架构处理器(如NXP i.MX系列)实现高效能低功耗处理,搭配DDR4/LPDDR5内存保障性能,eMMC/UFS存储确保数据可靠性。设计中需平衡车规级可靠性(AEC-Q100)、EMC兼容性及成本控制,同时集成通信、定位与安全模块。未来趋势聚焦异构计算、先进制程及功能安全(ASIL-D)与信息安全融合,推动TBOX向边缘计算节点演进。该技术是汽车智能化转型的重

IT深耕十余载,大道之简 863

Vue中keep-alive的使用详解

1、概念: keep-alive是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁。 2、作用: 用来缓存组件,避免多次加载相同的组件,减少性能消耗,提高用户体验。 3、使用方式: 方式一:在App.vue中使用keep-alive标签,表示缓存所有页面 <div id="app"> <keep-alive> <tar-bar></tar-bar> <div class="container">

qq_42357338的博客 2万+

微信聊天记录丢失原因与恢复方案详解

SQLite数据库作为移动应用常见的本地存储方案,其加密机制和存储结构直接影响数据安全性。以微信为例,聊天记录存储在EnMicroMsg.db等SQLite文件中,采用AES加密保护。当手机清理工具误删这些文件时,会导致特定时间段记录丢失。理解数据恢复原理需要掌握文件系统删除机制和闪存特性,其中关键点包括TRIM指令的影响和数据块覆盖风险。通过专业工具如DiskDigger或iMyFone D-Back,配合ADB调试和SQLite数据重组技术,可在黄金时间窗口内恢复记录。日常维护建议结合自动化备份方案和存

weixin_32612263的博客 386

keep-alive用法(include、exclude、max)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录1.用处2.属性3.介绍4.使用使用中可能遇到的问题 1.用处 主要用于保留组件状态或避免重新渲染。 2.属性 include 字符串,数组或正则表达式。只有名称匹配的组件会被缓存。 exclude 字符串,数组或正则表达式。任何名称匹配的组件都不会缓存。 max 数字。最多可以缓存多少组件实例。 3.介绍 < keep-alive > 包裹动态组件时,会被缓存不活动的组件实例,而不是销毁它们。 < ke

yimeichengxuyuan的博客 3万+

第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛技术解析与实战指南

本文深入解析了第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛的核心技术。内容涵盖从零搭建数字孪生环境、实现AI视觉任务(二维码识别、引导线追踪、目标检测)、在边缘设备部署轻量化大模型进行图生文描述,到遥操作与自主控制的平滑切换,并提供了基于ROS2的系统集成与赛场实战指南,助力参赛者高效备赛。

weixin_29252171的博客 2778

app编写需要哪种语言

原生App开发:优选Swift(iOS)和Kotlin(Android)。跨平台App开发:优选Flutter(Dart)和React Native(JavaScript)。游戏App开发:优选Unity(C#)和Unreal Engine(C++)。低代码工具:适合简单、快速的App制作。

fanying_98的博客 2071

vue中的keep-alive详解与应用场景

vue中的keep-alive详解与应用场景

唯见青山不见君 7803

[网络安全自学篇] 七十三.WannaCry勒索病毒复现及分析(四)蠕虫传播机制全网源码详细解读

这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了逆向分析OllyDbg动态调试工具的基本用法,包括界面介绍、常用快捷键和TraceMe案例分析。这篇文章将继续详细讲解WannaCry蠕虫的传播机制,带领大家详细阅读源代码,分享WannaCry勒索病毒是如何传播感染的。作者分析该病毒一个月,一方面觉得自己技术菜,另一方面深知系统安全需要坚持,继续加油。希望文章对您有所帮助~

杨秀璋的专栏 1万+

keep-alive

keep-alive的概念 keep-alive是一个抽象组件:它自身不会渲染一个DOM元素,也不会出现在父组件链中;使用keep-alive包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。 作用 在组件切换过程中将状态保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性 参数 Keep-alive 组件提供了 include 和 exclude 两个属性,允许组件有条件的进行缓存。 include: 字符串或正则表达式。只有匹配的组件会被缓存。 exclude: 字符串或正则

Zhoujia1316的博客 1283

Navicat从入门到精通:数据库管理全攻略

本文系统梳理Navicat数据库管理工具的核心应用体系。从基础的安装与多类型数据库连接入手,详解数据库与数据表的创建、修改、删除等操作逻辑;深入数据增删改查的可视化与 SQL 语句双重操作模式,结合Excel/SQL文件的导入导出场景提供实操指南。同时覆盖数据备份恢复、跨库同步等进阶功能,以及视图、存储过程等高级应用。通过对比同类工具突出Navicat的易用性与功能性优势,并针对连接失败、字符乱码等常见问题提供解决方案,帮助读者从零基础掌握数据库全生命周期管理,提升数据操作效率与安全性。

邓邓子的博客 1897

学Simulink——基于电能质量治理的场景实例:静止无功发生器(SVG)与并网逆变器的结合

本文详细介绍了基于Simulink的SVG与光伏并网逆变器联合仿真建模方法。系统包含光伏单元、SVG主电路、控制策略(无功检测+双闭环控制)等模块,通过ip-iq法实现动态无功补偿。仿真结果表明,SVG能快速响应负载变化,将功率因数提升至0.98以上,有效稳定母线电压。该方案为新能源并网系统提供了有功/无功协同控制解决方案,具有10ms级响应速度和±5kvar补偿能力。文章提供了完整的建模流程、控制算法实现和结果分析,可作为电力电子与电能质量治理领域的实践指导。

amy_mhd的博客 167

vue中keep-alive的使用及详解

概念     keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 transition 相似,keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。 作用     在组件切换过程中将状态保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性 原理     在 created 函数...

关注最新技术问题并持续维护更新 12万+

Autosar CAN 网络管理标准文档

Autosar CAN 网络管理标准文档

蚂蚁小兵 925

vue中keep alive 的使用场景以及用法

keep-alive实现原理 vue中keep-alive的使用及详解 1、概念2、 作用以及使用场景3、原理① 实现② activated和deactivated生命周期函数(和created函数区分)③ props4、使用① 缓存所有页面② 根据条件缓存部分页面③ 结合router 1、概念 2、 作用以及使用场景 3、原理 ① 实现 ② activated和deactivated生命周期函数(和created函数区分) ③ props 4、使用 ① 缓存所有页面 <template

秀秀的奇妙旅行 1296

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

vue项目中keep-alive的用法

vue项目中keep-alive的用法 vue项目中keep-alive的用法之一,直接在keep-alive标签中使用 <keep-alive> <personal-form @doPersonData="doPersonData" v-if="pageFlag"></personal-form> <company-form @returnBackMethon="returnBackMethon" v-else-i

肖帅的博客 939

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

vue中keep-alive的用法及问题描述

1.keep-alive的作用以及好处 在做电商有关的项目中,当我们第一次进入列表页需要请求一下数据,当我从列表页进入详情页,详情页不缓存也需要请求下数据,然后返回列表页,这时候我们使用keep-alive来缓存组件,防止二次渲染,这样会大大的节省性能。 2.keep-alive的基本用法 在app.vue中 <!-- 缓存所有的页面 --> <keep-alive&g...

lixiaoyan93的博客 663

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Vue keep-alive基础用法

想使用keep-alive,必须在router和相关组件页面里面添加name属性,且名称对应,如下: Router { path: '', component: layout , children: [ { name: 'Analysis',// 必须滴 path: '/analysis', component:()=>import('@/views/page/analysis/index.vue'), meta: { title: '', keepAlive: .

WangYan的博客 749

vue2和vue3 的 keep-alive的用法

vue3的keep-alive用法和vue2用法是不同的。keep-alive概念: keep-alive是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁。keep-alive作用: 用来缓存组件,避免多次加载相同的组件,减少性能消耗,提高用户体验。keep-alive使用方式:方式一:在App.vue中使用keep-alive标签,表示缓存所有页面 方式二:按条件缓存,使用include,exclude判断是否缓存 方式三:在router目录下的index.js中, 第一步:使用

lzfengquan的博客 1272

Vue.js--keep-alive用法

这里使用了 v-slot 来获取 router-view 渲染的组件,然后用 keep-alive 进行包裹,实现路由组件的缓存。例如,我们有组件newsList和newsInfo,imageList和imageInfo,但是我们只想缓存newsList和imageList这2个列表组件的数据。是Vue的内置组件,包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。这里需要说明的是,本示例是使用了vue-router的,所以这里的keep-alive中放了1个router-view。

wl_qianduan的博客 704

【vue】keep-alive动态组件的基础用法

keep-alive 能够保存当前被缓存的组件的完整状态,而不仅仅是页面上的显示。它会缓存组件的 数据、生命周期钩子 和 DOM 状态,所以当你切换回去时,组件的所有状态都会恢复到你离开时的状态。具体行为数据保存:keep-alive 缓存的组件会保留其内部的所有 data 数据,例如表单内容、输入框的值等。DOM 状态保存:例如滚动位置、已打开的弹窗、展开的部分都会保持。生命周期钩子:被缓存的组件在切换离开时不会触发 destroyed 钩子。

可可的博客 1078

【vue】keep-alive的用法及详解

只有组件被 keep-alive 包裹时,这两个生命周期函数才会被调用,如果作为正常组件使用,是不会被调用的,以及在 2.1.0 版本之后,包含在 keep-alive 中,但符合 exclude ,不会调用activated和 deactivated这两个函数钩子!keep-alive组件,只要将子组件嵌套在这里面就可以实现组件的缓存,当页面返回时数据不会丢失,实现了我们常见的历史页面不刷新的效果。keep-alive组件是vue2.0提供的一个缓存组件,在组件切换过程中把切换出去的组件保留在。

weixin_45291798的博客 3891

13. Vue keep-alive用法

Vue keep-alive用法 官方说明 Props: include - 字符串或正则表达式。只有名称匹配的组件会被缓存。 exclude - 字符串或正则表达式。任何名称匹配的组件都不会被缓存。 max - 数字。最多可以缓存多少组件实例。 用法: <keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 <transition> 相似,<keep-alive> 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现

白怀宇的博客 307

vue keep-alive用法

1.基本用法vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗&lt;keep-alive&gt; &lt;component&gt; &lt;!-- 组件将被缓存 --&gt; &lt;/component&gt; &lt;/keep-alive&gt;有时候 可能需要缓存整个站点的所有页面,而页面一般一进去都要触发请求的在使用keep-aliv...

Uncle_long的博客 1014

Vue中keep-alive用法

Vue中keep-alive的使用

ZQmxy的博客 4598

关于vue keep-alive用法的总结

是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。 用法1:include: 字符串或正则表达式。只有匹配的组件会被缓存。 exclude: 字符串或正则表达式。任何匹配的组件都不会被缓存。 // 组件 export default { name: 'test-keep-alive', data () { return { include...

Wangdr的博客 2054

vue的使用之 keep-alive的用法

1. 需求: 回退页面不刷新,保持原样,数据缓存。 2. 做法:使用vue 的keep-alive ,保持组件的数据缓存,避免被重新渲染。 3. keep-alive的用法: <keep-alive include="viewer"> <router-view></router-view> </keep-alive> keep-al...

一个在全能之路上越走越远的男人。 2375
上一篇: Vue混入mixins的简单用法
下一篇: Vue 更改keep-alive源码,满足条件性缓存(多个页签之间切换缓存,关闭页签重新打开不缓存)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值