<template>
<div id="app">
<keep-alive>
<router-view />
</keep-alive>
</div>
</template>
在路由外包裹keep-alive,这样在不刷新页面的情况下每个页面只会在首次进入触发生命周期,之后再重新进入页面就不会触发created(),mounted()等钩子函数
如果需要在指定页面解除keep-alive的缓存,实现每次进入页面都会触发生命周期,keep-alive有2个属性:
1.exclude
<keep-alive exclude="no_cache">
<router-view />
</keep-alive>
keep-alive加上exclude='no_cache',表示name值为no_cache的页面不会被缓存,no_cache为自定义值,只要exclude值与name值一致都能实现该效果
2.include
<keep-alive include="cache">
<router-view />
</keep-alive>
keep-alive加上include='cache',表示name值为cache的页面才会被缓存,其他name值页面则不会缓存