Vue -- vue-<keep-alive>

本文介绍了Vue内置组件keep-alive在vue-router中的使用。keep-alive可保留组件状态或避免重新渲染,有include和exclude两个重要属性。router-view被其包裹时,匹配的视图组件会被缓存。还给出案例需求及优化代码,提到activated和disactivated方法的使用条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kepp-alive在vue-router中使用

keep-alive 是 Vue内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染;
keep-alive 有两个重要的属性:

  • include(包含) : 字符串或正则表达式,只有匹配的组件会被缓存
  • exclude (不包含):字符串或正则表达式,任何匹配的组件都不会被缓存 ,如果是多个后面紧跟不包含的组件name,用,隔开,注意:不要敲空格键
    在这里插入图片描述

router-view 也是一个组件,如果直接被包在keep-alive 里面,所有路径匹配到的视图组件都会被缓存

案例需求

当我们在不同的组件之间来回切换的时候,组件会不断的进行创建和销毁;如下图当在home和其他组件来回切换时,home组件被不断的创建和销毁的示例:
在这里插入图片描述
加入标签<keep-alive>如下
在这里插入图片描述
需求: 当我们浏览首页中的消息后;然后在跳转到其他组件,最后又回到首先组件,但是希望的页面是我之前浏览的消息页面,而不是默认的新闻页面
在这里插入图片描述
优化代码如下:
在这里插入图片描述
注:activated()和 disactivated() 只有在该组件被保持了状态使用了<keep-alive>时,才是有效的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值