本文转载于:https://blog.csdn.net/xum222222/article/details/80322532

转载仅供个人日后学习

https://www.cnblogs.com/jinzhenzong/p/7885643.html

keep-alive的作用主要是在组件切换时,保存组件的状态,防止重复渲染引发性能问题。比如:常见的列表页与详情页,当我们在列表页通过滚动鼠标寻找到自己感兴趣的标题时,点进去进入详情页,当浏览完详情页后返回到列表页,此时我们希望返回的列表页不是重新渲染后的列表页,而是我们之前滚动到的位置,keep-alive 就可以帮助我们缓存列表页的状态,实现上述效果。keep-alive起到一个缓存作用,用来保存页面的状态(包括数据、操作等)。

demo实践,感受keep-alive的作用
  demo中定义了两个组件,Page1和Page2。并通过路由实现了两个组件之间的切换。在page1页面的输入框中输入一些内容后,切换到page2页面,再从page2重新切换到page1时,通过keep-alive可以实现输入框中的内容保持不变。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>keep-alive</title>
</head>
<body><div id="app"><router-link to="/page1">page1</router-link><router-link to="/page2">page2</router-link><keep-alive><router-view v-if="$route.meta.keepAlive"></router-view></keep-alive><router-view v-if="!$route.meta.keepAlive"></router-view></div><script src="https://unpkg.com/vue"></script><script src="https://unpkg.com/vue-router"></script><script>const Page1 = Vue.extend({template: `<div class="page1"><h1>page1</h1><input type="text" /></div>`,})const Page2 = Vue.extend({template: `<div class="page2"><h1>page2</h1></div>`,})const routes = [{path: '/page1',component: Page1,meta: {keepAlive: true,}},{path: '/page2',component: Page2,meta: {keepAlive: false,}},]const router = new VueRouter({routes,})const app = new Vue({router}).$mount('#app')</script>
</body>
</html>
---------------------

  • 代码copy到编辑器中保存为.html文件,用浏览器打开观察结果。

上述demo中,通过在路由时,为组件Page1Page2设置meta的keepAlive状态来控制组件是否需要缓存。

转载于:https://www.cnblogs.com/curo0119/p/10722544.html

vue中的keep-alive相关推荐

  1. keep alive PHP,vue中keep-alive使用方法详解

    这次给大家带来vue中keep-alive使用方法详解,vue中keep-alive使用的注意事项有哪些,下面就是实战案例,一起来看一下. 1.keep-alive的作用以及好处 在做电商有关的项目中 ...

  2. 怎么将vue模板转换为html,vue中自定义html文件的模板

    如果默认生成的 HTML 文件不适合需求,可以创建/使用自定义模板. 一是通过 inject 选项,然后传递给定制的 HTML 文件.html-webpack-plugin 将会自动注入所有需要的 C ...

  3. props写法_简单理解vue中Props属性

    本文实例为大家解析了vue中Props的属性,供大家参考,具体内容如下 使用 Props 传递数据 组件实例的作用域是孤立的.这意味着不能并且不应该在子组件的模板内直接引用父组件的数据.可以使用 pr ...

  4. vue ts 设置tslint提示_Typescript 在 Vue 中的实践(包含2.x、3.x)

    1 使用 typescript 的优势 聊到 ts 时有一个不能规避的问题:为什么要使用 ts ,相比 js 有什么优势吗?下面我从两个方面试着回答一下这个问题: 1.1 项目开发时的便利 避免低级 ...

  5. VUE中使用Echarts绘制地图迁移

    踩坑说明 很久以前写jsp时使用过echarts的china.js插件,不过echarts是2.0的,目前vue项目中使用echarts3.8.5,直接将china.js插件引入,代码复制,运行一看, ...

  6. vue中动态样式不起作用? scoped了解一下

    vue中style标签使用属性scoped的注意事项 style上添加属性scoped可以实现样式私有化,但是在使用动态样式时,样式会不起作用.可以先去掉scoped 转载于:https://www. ...

  7. Vue中组件数据的传递

    Vue中组件的作用域是隔离的,父组件中的数值子组件看不到!也就是说,用angular作比喻,组件的scope天生是scope:()的! 如果父组件需要往子组件中传数据,此时应该使用标签属性: < ...

  8. vue中 静态文件引用注意事项

    (一)assets文件夹与static文件夹的区别 区别一:assets文件是src下的,所以最后运行时需要进行打包,而static文件不需要打包就直接放在最终的文件中了 区别二:assets中的文件 ...

  9. vue中axios如何实现token验证

    title: vue中axios如何实现token验证 date: 2018-02-08 17:50:07 tags: [axios,vue] 继上篇实现Auth认证之后,然后每个跳转页面都会在后端验 ...

  10. vue和react相同点_我在React和Vue中创建了相同的应用程序。 这是区别。

    vue和react相同点 by Sunil Sandhu 由Sunil Sandhu 我在React和Vue中创建了相同的应用程序. 这是区别. (I created the same app in ...

最新文章

  1. python3 byte_「Python3学习笔记」读书笔记—字节数组
  2. 《高质量java程序设计》读书笔记之----异常处理(1)
  3. liuux/ Unix 文件管理命令(三)
  4. Spring BeanFactory实例化Bean的过程
  5. C# 【无法修改XX返回值,因为它不是变量】
  6. luogu P4512 多项式除法 (模板题、FFT、多项式求逆)
  7. postfix文档修正
  8. linux yum选择版本mysql_linux yum安装指定版本mysql
  9. 伺服电机常用参数设置_伺服驱动器常见参数的设置
  10. iPad最新型笔刷,足足五种分类,几百款
  11. 在计算机上设置桌面,如何在计算机上设置动态桌面墙纸
  12. openlayers3.0叠加天地图底图及注记后再叠加geoserverWMS服务
  13. 本地安全管理审核UDF 第2版 - lsasecur.au3
  14. 【历史上的今天】6 月 3 日:微软推出必应搜索引擎;Larry Roberts 启动阿帕网;Visual Basic 之父出生
  15. 控件、组件和插件的区别
  16. 威斯康星大学硕士计算机科学,威斯康星大学麦迪逊分校计算机科学理学硕士研究生申请要求及申请材料要求清单...
  17. hdu 1789 贪心算法
  18. 汉化MapGuide
  19. 用python绘制科赫雪花分形图,迭代
  20. [半监督学习] Deep Co-Training for Semi-Supervised Image Recognition

热门文章

  1. 优雅且高效的使用Chrome Developer Tools
  2. 2019年查询12年前的往届高考成绩(适用浙江省)
  3. TPC-H生成Spark测试用的伪数据集(转载)
  4. ERRORS: ?: (admin.E408) 'django.contrib.auth.middleware.AuthenticationMiddleware' must be in MIDDLEW
  5. 一句话讲清楚GIL锁
  6. hexo的yelee主题中的标签字体大小的修改
  7. 【机器学习】集成学习之梯度提升树GBDT
  8. html动画效果结束返回,javascript判断css3动画结束 css3动画结束的回调函数
  9. java 存储cookie_java设置cookie,存储和读取 | 学步园
  10. 商品表有哪些字段_面试中有哪些经典的数据库问题?