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之get缓存问题的最简单方法介绍
Dec 19 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
Jquery遍历Json数据的方法
Apr 20 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
Oct 20 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
浅谈jQuery hover(over, out)事件函数
Dec 03 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
Mar 02 Javascript
Vue内容分发slot(全面解析)
Aug 19 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
Jan 02 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
Mar 07 jQuery
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
前端开发之便利店收银系统代码
Dec 27 Javascript
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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
javascript 必知必会之closure
2009/09/21 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
python数据结构树和二叉树简介
2014/04/29 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
python实现抖音点赞功能
2019/04/07 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
基于python 凸包问题的解决
2020/04/16 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
草船借箭教学反思
2014/02/03 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
小学安全工作总结2015
2015/05/18 职场文书
2016暑期校本培训心得体会
2016/01/08 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers