type
status
date
slug
summary
tags
category
icon
password
有时候我们不需要组件被重新渲染影响使用体验,或者是出于性能考虑,避免多次重复渲染降低性能,我们就可以使用
keep-alive
,将组件缓存下来,维持当前的状态基本用法
与
v-if / v-else
分支一起使用时,同一时间只能有一个组件被渲染:属性
keep-alive
有3个属性include
:匹配的组件会被缓存
exclude
:匹配的组件不会被缓存
max
:最多可以缓存多少组件实例,如果超过了这个数量,则会缓存活跃度比较高的组件
- 使用
include / exclude
,这两个属性都有3种写法,如下所示:
注意:以上代码里,include / exclude绑定的组件名一定要与组件的文件名保持一致
- 使用 max:
生命周期的变化
开启
keep-alive
时,生命周期会增加两个:onActivated()
和onDeactivated()
初次进入页面时:
会依次调用
onMounted()
> onActivated()
退出后会触发
onDeactivated()
,不会触发onUnmounted()
再次进入页面时:
只会触发
onActivated()
事件挂载的方法等,只执行一次的放在
onMounted
中;组件每次进去执行的方法放在 onActivated
中- 作者:衔蝉
- 链接:https://xianchan.ah.cn/article/vue3-16
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章