正常生命周期:beforeRouteEnter --> created --> mounted --> updated–>destroyed
使用keepAlive后生命周期: 首次进入缓存页面:beforeRouteEnter --> created --> mounted --> activated --> deactivated
再次进入缓存页面:beforeRouteEnter --> activated --> deactivated
注:
1、这里的activated非常有用,因为页面被缓存时,created,mounted等生命周期均失效,你若想进行一些操作,那么可以在activated内完成
2、activated keep-alive组件激活时调用,该钩子在服务器端渲染期间不被调用。
3、deactivated keep-alive组件停用时调用,该钩子在服务端渲染期间不被调用。
<keep-alive include="ProblemList">
//include 被包裹的组件 会被缓存 可以用"a,b,c"隔开||可以用[a,b,c] abc为 组件name
//exclude 被包裹的组件 不会被缓存 可以用"a,b,c"隔开||可以用[a,b,c]
<router-view />
</keep-alive>
//使用keep-alive 缓存后 页面组件效果
//beforeRouteEnter --> activated --> deactivated-->beforeRouteLeave
//如果想得到某些数据的更新就在activated() 里面进行调用,该钩子在服务端渲染期间不被调用。
activated(),
//keep-alive组件停用时调用,该钩子在服务端渲染期间不被调用。
deactivated()