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 相关文章推荐
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧
Nov 25 Javascript
jquery的map与get方法详解
Nov 04 Javascript
php跨域调用json的例子
Nov 13 Javascript
Jquery解析json数据详解
Dec 26 Javascript
使用jQuery实现星级评分代码分享
Dec 09 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
Feb 13 Javascript
javascript实现二叉树遍历的代码
Jun 08 Javascript
Vue-cli创建项目从单页面到多页面的方法
Sep 20 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
Apr 08 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
js实现动态时钟
Mar 12 Javascript
使用Ajax实现进度条的绘制
Apr 07 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 数组入门教程小结
2009/05/20 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
php跨域调用json的例子
2013/11/13 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python快排算法详解
2019/03/04 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
NET程序员上机面试题
2015/05/23 面试题
春节联欢晚会主持词
2014/03/24 职场文书
植树节标语
2014/06/27 职场文书
出国签证在职证明
2014/09/20 职场文书
销售助理岗位职责
2015/02/11 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
java executor包参数处理功能 
2022/02/15 Java/Android