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实现验证上传图片的格式与大小
Dec 03 Javascript
JavaScript常用标签和方法总结
Sep 01 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
Angular表单验证实例详解
Oct 20 Javascript
JQuery实现动态操作表格
Jan 11 Javascript
移动端手指放大缩小插件与js源码
May 22 Javascript
微信小程序图片选择区域裁剪实现方法
Dec 02 Javascript
zTree树形菜单交互选项卡效果的实现方法
Dec 25 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
node上的redis调用优化示例详解
Oct 30 Javascript
基于VUE的v-charts的曲线显示功能
Oct 01 Javascript
Layui表格监听行单双击事件讲解
Nov 14 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
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
javascript中window.event事件用法详解
2012/12/11 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
微信小程序云开发之数据库操作
2019/05/18 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
vue父子组件通信的高级用法示例
2019/08/29 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
Python基础教程之异常详解
2019/01/10 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
如何基于Python批量下载音乐
2019/11/11 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
工厂厂长岗位职责
2013/11/08 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
男人帮观后感
2015/06/18 职场文书