vue中keep-alive的用法及问题描述


Posted in Javascript onMay 15, 2018

1.keep-alive的作用以及好处

在做电商有关的项目中,当我们第一次进入列表页需要请求一下数据,当我从列表页进入详情页,详情页不缓存也需要请求下数据,然后返回列表页,这时候我们使用keep-alive来缓存组件,防止二次渲染,这样会大大的节省性能。

2.keep-alive的基本用法

在app.vue中

<!-- 缓存所有的页面 -->
<keep-alive>
 <router-view v-if="$route.meta.keep_alive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keep_alive"></router-view>

需要缓存的组件内容直接在router中添加:

meta: {
 keepAlive: true // true 表示需要使用缓存 false表示不需要被缓存
 }

3.keep-alive的生命周期

当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated。

下面看下vue中 keep-alive 的使用问题及解决方案

问题描述

在业务开发中,会有路由跳转但是返回需要保留数据的场景;vue 中提供了 keep-alive 来处理

解决方案

返回dom不让其重新刷新,在vue-view外面包一层, 当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated。

 事件挂载的方法等,只执行一次的放在 mounted 中;组件每次进去执行的方法放在 activated 中;
 可以将 是否包裹 keep-alive 通过参数配置;

<keep-alive>
  <router-view v-if="$route.meta.keepAlive" style="min-height:100%"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" style="min-height:100%"></router-view>
//不需要刷新的路由配置里面配置 meta: {keepAlive: true}, 这个路由则显示在上面标签;
//需要刷新的路由配置里面配置 meta: {keepAlive: false}, 这个路由则显示在下面标签;

总结

以上所述是小编给大家介绍的vue中keep-alive的用法及问题描述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
基于jQuery图片平滑连续滚动插件
Apr 27 Javascript
匹配任意字符的正则表达式写法
Apr 29 Javascript
node.js中的path.extname方法使用说明
Dec 09 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
如何用Node写页面爬虫的工具集
Oct 26 Javascript
详解微信小程序网络请求接口封装实例
May 02 Javascript
这应该是最详细的响应式系统讲解了
Jul 22 Javascript
jquery树形插件zTree高级使用详解
Aug 16 jQuery
微信小程序实现签字功能
Dec 23 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 Javascript
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
Apr 11 Vue.js
react中使用swiper的具体方法
May 15 #Javascript
vue addRoutes实现动态权限路由菜单的示例
May 15 #Javascript
浅谈AngularJS中$http服务的简单用法
May 15 #Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
May 15 #Javascript
解决linux下node.js全局模块找不到的问题
May 15 #Javascript
vue :src 文件路径错误问题的解决方法
May 15 #Javascript
利用npm 安装删除模块的方法
May 15 #Javascript
You might like
一个程序下载的管理程序(二)
2006/10/09 PHP
PHP实现下载功能的代码
2012/09/29 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
javascript新手语法小结
2008/06/15 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
记一次react前端项目打包优化的方法
2020/03/30 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
Python标准库之itertools库的使用方法
2017/09/07 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
详解python运行三种方式
2019/05/13 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
python将字母转化为数字实例方法
2019/10/04 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
水污染治理工程专业求职信
2014/06/14 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
七一建党节演讲稿
2014/09/11 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
python基础之while循环语句的使用
2021/04/20 Python