type
status
date
slug
summary
tags
category
icon
password
有时候我们不需要组件被重新渲染影响使用体验,或者是出于性能考虑,避免多次重复渲染降低性能,我们就可以使用keep-alive,将组件缓存下来,维持当前的状态

基本用法

v-if / v-else分支一起使用时,同一时间只能有一个组件被渲染

属性

keep-alive3个属性
  1. include:匹配的组件会被缓存
  1. exclude:匹配的组件不会被缓存
  1. max:最多可以缓存多少组件实例,如果超过了这个数量,则会缓存活跃度比较高的组件
 
  • 使用include / exclude,这两个属性都有3种写法,如下所示:
注意:以上代码里,include / exclude绑定的组件名一定要与组件的文件名保持一致
 
  • 使用 max:

生命周期的变化

开启keep-alive时,生命周期会增加两个:onActivated()onDeactivated()
初次进入页面时:
会依次调用 onMounted()> onActivated()
退出后会触发onDeactivated(),不会触发onUnmounted()
再次进入页面时:
只会触发onActivated()
事件挂载的方法等,只执行一次的放在 onMounted中;组件每次进去执行的方法放在 onActivated
学习Vue3第十七节:transition组件基础用法学习Vue3第十四节:插槽slot
衔蝉
衔蝉
一个普通的干饭人🍚
公告
type
status
date
slug
summary
tags
category
icon
password
欢迎来到衔蝉的博客小站✨
这里是我的个人学习、生活记录
--- 免责声明 ---
⚠️ 本站内容仅代表个人观点
⚠️ 本站内容仅供学习参考使用
--- 关于我 ---
我要如加菲猫一般地活着
一大碗杂碎面
就能换来一个艳阳天🌻