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 相关文章推荐
js日期对象兼容性的处理方法
Jan 28 Javascript
关于javascript模块加载技术的一些思考
Nov 28 Javascript
jQuery实现简单倒计时功能的方法
Jul 04 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
Jan 11 Javascript
详解Vue如何支持JSX语法
Nov 10 Javascript
javaScript动态添加Li元素的实例
Feb 24 Javascript
JavaScript代码调试方法实例小结
Jan 05 Javascript
vscode下vue项目中eslint的使用方法
Jan 13 Javascript
element-ui如何防止重复提交的方法步骤
Dec 09 Javascript
通过js随机函数Math.random实现乱序
May 19 Javascript
你不知道的 TypeScript 高级类型(小结)
Aug 28 Javascript
js实现鼠标切换图片(无定时器)
Jan 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
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
Smarty变量用法详解
2016/05/11 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
webpack3之loader全解析
2017/10/26 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
Python序列循环移位的3种方法推荐
2018/04/09 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
Python collections.defaultdict模块用法详解
2020/06/18 Python
python批量生成条形码的示例
2020/10/10 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
文员个人的求职信范文
2013/09/26 职场文书
小学语文国培感言
2014/03/04 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
责任书格式范文
2014/07/28 职场文书
先进工作者推荐材料
2014/12/23 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
安全主题班会教案
2015/08/12 职场文书
Python函数中apply、map、applymap的区别
2021/11/27 Python
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android