========================转载=============================================
keep-alive是vue内置的一个组件,可以使被它包含的组件处于保留状态,或避免被重新渲染。
用法:
运行结果描述:
input输入框内,路由切换输入框内部的内容不会发生改变。
常见的用法:(下图是在https://www.cnblogs.com/sysuhanyf/p/7454530.html截的图,本篇文章为了自己方便查看。)
在keep-alive标签内部添加
include:字符串或正则表达式。只有匹配的组件会被缓存
exclude: 字符串或正则表达式。任何匹配的组件都不会被缓存。
结合router缓存部分页面:
比较实用的例子:
思路:通过beforeRouterLeave这个钩子来对路由里面的keepAlive进行赋值。从而动态的确定A页面是否需要被缓存。
注意:使用keepAlive之后,vue8个基础的生命周期都将失效,取而代之的时activate和deactivated
activate:是在被包裹组建被激活的状态下使用的生命周期钩子
deactivated:在被包裹组件停止使用时调用
使用场景:A->B页面,B返回A时,需要更新部分数据时,可以在activate里调用