keep-alive是Vue提供的一种切换组件时,将其包裹组件进行缓存,使其不会被销毁,避免组件被多次重新渲染,(简单理解页面1跳转到页面2,然后页面2后退到页面1,页面1直接从缓存中加载出来,提高性能 )而且当使用keep-alive时,组件的生命周期中会多出两个钩子函数 actived 和 deactived ,activated是在组件被激活时调用,而deactivated是在组件被停用时调用。
它还有两个属性:
include --- 可以是字符串或正则表达式,只有符合条件的组件才会被缓存
<template>
<div id="app">
<div>
</div>
<keep-alive :include="['login']"> // login页面会被缓存,
<router-view />
</keep-alive>
</div>
</template>
exclude --- 可以是字符串或正则表达式,所有符合条件的组件都不会被缓存
<template>
<div id="app">
<div>
</div>
<keep-alive :exclude="['login']"> //包裹在keep-alive里面的组件除了login页面其它都会被缓存
<router-view />
</keep-alive>
</div>
</template>