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 相关文章推荐
一个很简单的办法实现TD的加亮效果.
Jun 29 Javascript
utf8的编码算法 转载
Dec 27 Javascript
Code:loadScript( )加载js的功能函数
Feb 02 Javascript
在Windows上安装Node.js模块的方法
Sep 25 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
Oct 11 Javascript
浅谈 jQuery 事件源码定位问题
Jun 18 Javascript
Bootstrap树形控件使用方法详解
Jan 27 Javascript
Node.js中sequelize时区的配置方法
Dec 10 Javascript
全站最详细的Vuex教程
Apr 13 Javascript
Vue 实现前端权限控制的示例代码
Jul 09 Javascript
node.js使用stream模块实现自定义流示例
Feb 13 Javascript
node脚手架搭建服务器实现token验证的方法
Jan 20 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
Symfony2之session与cookie用法小结
2016/03/18 PHP
破解Session cookie的方法
2006/07/28 Javascript
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
分享几个超级震憾的图片特效
2012/01/08 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
Python异常学习笔记
2015/02/03 Python
python复制文件的方法实例详解
2015/05/22 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
python查看微信好友是否删除自己
2016/12/19 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
python3 re返回形式总结
2020/11/20 Python
canvas需要在标签里直接定义宽高
2014/12/17 HTML / CSS
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
德国购买门票网站:ADticket.de
2019/10/31 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
水利公司纪检监察自我鉴定
2014/02/25 职场文书
工地安全质量标语
2014/06/07 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
个人原因辞职信模板
2015/05/13 职场文书
女方离婚起诉书
2015/05/18 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python