keep-alive是vue内置的一个组件,可以使被它包含的组件处于保留状态,或避免被重新渲染。

用法:

运行结果描述:

input输入框内,路由切换输入框内部的内容不会发生改变。

常见的用法:(下图是在https://www.cnblogs.com/sysuhanyf/p/7454530.html截的图,本篇文章为了自己方便查看。)

在keep-alive标签内部添加

include:字符串或正则表达式。只有匹配的组件会被缓存

exclude: 字符串或正则表达式。任何匹配的组件都不会被缓存。

结合router缓存部分页面:

比较实用的例子:

思路:通过beforeRouterLeave这个钩子来对路由里面的keepAlive进行赋值。从而动态的确定A页面是否需要被缓存。

注意:使用keepAlive之后,vue8个基础的生命周期都将失效,取而代之的时activatedeactivated

 activate:是在被包裹组建被激活的状态下使用的生命周期钩子

 deactivated:在被包裹组件停止使用时调用

使用场景:A->B页面,B返回A时,需要更新部分数据时,可以在activate里调用

Logo

前往低代码交流专区

更多推荐