ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vue中的缓存——keep-alive,activated,deactivated

2020-04-23 18:07:23  阅读:288  来源: 互联网

标签:触发 缓存 deactivated activated alive 钩子 router 路由


1、通过keep-alive和router-view实现路由缓存,具体代码如下:
在app.vue:

<router-view v-if="!$route.meta.keepAlive"/>
<keep-alive>
<router-view v-if="$route.meta.keepAlive"/>
</keep-alive>
在路由文件中配置相关参数,来判断该路由是否需要缓存,当keepAlive存在并且值为true时,缓存该路由

{
path: 'dCustomerPage',
name: '客户管理',
component: dCustomerPage,
meta:{
keepAlive: true,
}
},
2、关于activated钩子函数
首次进入该路由的页面时会触发created,mounted,activated等钩子函数,但使用this.router.go1返回该路由的时候,不会触发created和mounted,只会触发activated。如果调用this.router.go(−1)返回该路由的时候,不会触发created和mounted,只会触发activated。如果调用this.router.go(-1)返回该路由后希望手动刷新数据,可以在activated(){}中执行相关的请求,但首次进入或者f5刷新界面的时候会多次触发相关数据请求,可以用定时器解决或者类似锁的操作。

3、关于deactivated钩子函数
在离开该缓存路由后,该路由的组件并没有被销毁,如果需要销毁如定时器相关的操作可以在deactivated钩子函数中处理,类似于beforeDestroy钩子函数的调用

标签:触发,缓存,deactivated,activated,alive,钩子,router,路由
来源: https://www.cnblogs.com/wtsx-2019/p/12762542.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有