Vue的 keep-alive

Vue的 keep-alive

功能

在Vue中,keep-alive标签可以用来缓存组件,当一个组件被包裹在keep-alive标签中时,离开当前页面时,这个组件不会被销毁,而是被缓存起来,当这个组件再次被使用时,Vue会从缓存中提取组件实例,并重新挂载,而不是重新渲染,这个功能可以提高应用的性能,特别是在需要频繁切换组件的场景下,就比如Tab切换或者路由切换,因为不需要每一次切换时都重新创建和销毁组件,而是直接从缓存中获取,这样可以避免重复的初始化和渲染,从而提高应用的响应速度和性能。

使用

keep-alive可以设置以下props属性:

  • include - 字符串或正则表达式。只有名称匹配的组件会被缓存
  • exclude - 字符串或正则表达式。任何名称匹配的组件都不会被缓存

设置了 keep-alive 缓存的组件,会多出两个生命周期钩子(activateddeactivated):

当加入缓存的组件的时候会触发activated这个钩子

当离开组件的时候会触发deactivated这个钩子

应用场景

举个应用场景,有个员工列表,现在我们点击某条数据,查看员工详情后,再返回到员工列表,这个时候我们就希望这个列表能够保持刚才的状态,这时候就可以使用keep-alive把这个列表所在的组件包裹。

猜你喜欢

转载自blog.csdn.net/weixin_50975172/article/details/130955901
今日推荐