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 相关文章推荐
Javascript this关键字使用分析
Oct 21 Javascript
IE6、IE7中获取Button元素的值的bug说明
Aug 28 Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 Javascript
Javascript实现Web颜色值转换
Feb 05 Javascript
深入探讨Vue.js组件和组件通信
Sep 12 Javascript
Bootstrap基本组件学习笔记之列表组(11)
Dec 07 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
Dec 23 Javascript
解决webpack -p压缩打包react报语法错误的方法
Jul 03 Javascript
利用Console来Debug的10个高级技巧汇总
Mar 26 Javascript
基于vue实现移动端圆形旋钮插件效果
Nov 28 Javascript
Vue中Axios从远程/后台读取数据
Jan 21 Javascript
es6 for循环中let和var区别详解
Jan 12 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判断变量是否为0的方法
2014/02/08 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
浅谈js的异步执行
2016/10/18 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
jQuery设计思想
2017/03/07 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
解决python 文本过滤和清理问题
2019/08/28 Python
美国时尚在线:Showpo
2017/09/08 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
Python文件操作的面试题
2013/06/22 面试题
企业管理培训感言
2014/01/27 职场文书
作弊检讨书1000字
2014/02/01 职场文书
搞笑创意广告语
2014/03/17 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
2015年工会工作总结
2015/03/30 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
学校捐款活动总结
2015/05/09 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers