Keep-Alive 源码解读

236 阅读1分钟

Keep-Alive 源码解读

Keep-Alive 是什么

  • keepalive是vue3中的一个全局组件
  • keepalive 最重要的功能就是缓存组件
  • keepalive组件总共有三个参数

① 是Vue提供的一个抽象组件,用来对组件进行缓存,避免组件重复渲染。简单的说就是不让组件不断的被创建和被销毁;
② 被包裹在keep-alive中的组件状态将会被保留,就是说你离开是什么状态,回来也是什么状态\

使用Keep-Alive之前:在页面中的tab之间来回切换时,点击tab1时,改变tab1的内容;当点击完tab2时,再次回来切换到tab1,就会发现tab1里面的内容会恢复到刚开始的初始状态。

使用Keep-Alive之后:在页面中的tab之间进行切换时,点击切换tab时,还是会保持点击后的状态,不会恢复到初始状态。

Keep-Alive的参数

  1. include:记录的是组件哪些可以被缓存(可以为字符串,数组,以及正则表达式,只有匹配的组件会被缓存)
  2. exclude:记录了哪些组件不能被缓存(可以为字符串,数组,以及正则表达式,任何匹配的组件都不会被缓存)
  3. max:记录的是可以缓存组件的最大数量(类型为字符或者数字,可以控制缓存组件的个数)

当使用正则表达式或者数组时,一定要使用“v-bind”