vue2.0 keep-alive最佳实践


Posted in Javascript onJuly 06, 2017

vue2.0 keep-alive的最佳实践,供大家参考,具体内容如下

1.基本用法

vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗

<keep-alive>
<component>
 <!-- 组件将被缓存 -->
</component>
</keep-alive>

有时候 可能需要缓存整个站点的所有页面,而页面一般一进去都要触发请求的
在使用keep-alive的情况下

<keep-alive><router-view></router-view></keep-alive>

将首次触发请求写在created钩子函数中,就能实现缓存,
比如列表页,去了详情页 回来,还是在原来的页面

2.缓存部分页面或者组件

(1)使用router. meta属性

// 这是目前用的比较多的方式
<keep-alive>
  <router-view v-if="!$route.meta.notKeepAlive"></router-view>
</keep-alive>
<router-view v-if="$route.meta.notKeepAlive"></router-view>

router设置

... 
 routes: [
  { path: '/', redirect: '/index', component: Index, meta: { keepAlive: true }},
  {
   path: '/common',
   component: TestParent,
   children: [
    { path: '/test2', component: Test2, meta: { keepAlive: true } } 
   ]
  }
  ....
  // 表示index和test2都使用keep-alive

(2).使用新增属性inlcude/exclude

2.1.0后提供了include/exclude两个属性 可以针对性缓存相应的组件

<!-- comma-delimited string -->
<keep-alive include="a,b">
 <component :is="view"></component>
</keep-alive>
<!-- regex (use v-bind) -->
<keep-alive :include="/a|b/">
 <component :is="view"></component>
</keep-alive>

//其中a,b是组件的name

注意:这种方法都是预先知道组件的名称的

(3)动态判断

<keep-alive :include="includedComponents">
 <router-view></router-view>
</keep-alive>

includedComponents动态设置即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
May 24 Javascript
用JS判断IE版本的代码 超管用!
Aug 09 Javascript
有关javascript的性能优化 (repaint和reflow)
Apr 12 Javascript
有关json_decode乱码及NULL的问题
Oct 13 Javascript
jQuery实现图片局部放大镜效果
Mar 17 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
Aug 05 Javascript
jQuery中的一些小技巧
Jan 18 Javascript
JS实现复选框的全选和批量删除功能
Apr 05 Javascript
使用原生js封装的ajax实例(兼容jsonp)
Oct 12 Javascript
小程序中的箭头函数的具体使用
Jun 19 Javascript
vue 动态添加class,三个以上的条件做判断方式
Nov 02 Javascript
原生JavaScript实现简单五子棋游戏
Jun 28 Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 #Javascript
详解Angular Reactive Form 表单验证
Jul 06 #Javascript
让div运动起来 js实现缓动效果
Jul 06 #Javascript
老生常谈Bootstrap媒体对象
Jul 06 #Javascript
jQuery实现选中行变色效果(实例讲解)
Jul 06 #jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 #jQuery
Textarea输入字数限制实例(兼容iOS&amp;安卓)
Jul 06 #Javascript
You might like
php ZipArchive压缩函数详解实例
2013/11/06 PHP
调试WordPress中定时任务的相关PHP脚本示例
2015/12/10 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
python实现汉诺塔递归算法经典案例
2021/03/01 Python
Python中set与frozenset方法和区别详解
2016/05/23 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
Python logging模块用法示例
2018/08/28 Python
基于Django统计博客文章阅读量
2019/10/29 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
出纳岗位职责模板
2013/11/27 职场文书
高中生的自我评价
2014/03/04 职场文书
公务员培的训心得体会
2014/09/01 职场文书
2015年科普工作总结
2015/07/23 职场文书
分享7个 Python 实战项目练习
2022/03/03 Python