Vue -- vue-<keep-alive>

kepp-alive在vue-router中使用

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

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

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

案例需求

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值