Vue页面缓存和不缓存的方法

第一步 在app中设置需要缓存的div

//缓存的页面

1 <keep-alive>
2 <router-view v-if="$route.meta.keepAlive"></router-view>
3 </keep-alive>
4
5 //不缓存的页面
6 <router-view v-if="!$route.meta.keepAlive"></router-view>

第二步 在路由router.js中设置.vue页面是否需要缓存

 1 {
 2 path: ‘/‘,
 3 name: ‘HomePage‘,
 4 component: HomePage,
 5 meta: {
 6 keepAlive: false, //此组件不需要被缓存
 7 isBack: false, //用于判断上一个页面是哪个
 8 }
 9 },
10 {
11 path: ‘/insure‘,
12 name: ‘Insure‘,
13 component: insure,
14 meta: {
15 keepAlive: true, //此组件需要被缓存
16 isBack:false, //用于判断上一个页面是哪个
17 }
18 },
19 {
20 path: ‘/confirm‘,
21 name: ‘confirm‘,
22 component: confirm,
23 meta: {
24 keepAlive: false, //此组件不需要被缓存
25 isBack:false, //用于判断上一个页面是哪个
26 }
27 }

第三步

1 beforeRouteEnter(to, from, next) {
2 if (from.name == ‘confirm‘) {
3 to.meta.isBack = true;
4 }
5 next();
6 }

第四步
当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。

当再次进入(前进或者后退)时,只触发activated。

第五步
默认执行这个方法

1 activated() {
2 if (!this.$route.meta.isBack) { //true执行
3 // 如果isBack是false,表明需要获取新数据,否则就不再请求,直接使用缓存的数据
4 //清空表单
5
6 }
7 // 恢复成默认的false,避免isBack一直是true,导致下次无法获取数据
8 this.$route.meta.isBack = false;
9 }

————————————————
版权声明:本文为CSDN博主「你一定要努力,但千万别着急」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37330613/article/details/93381094

原文地址:https://www.cnblogs.com/xfcao/p/11473946.html

时间: 2025-01-31 05:17:49

Vue页面缓存和不缓存的方法的相关文章

vue服务端渲染页面缓存和组件缓存的实例详解

vue缓存分为页面缓存.组建缓存.接口缓存,这里我主要说到了页面缓存和组建缓存 页面缓存: 在server.js中设置 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 const LRU = require('lru-cache') const microCache

vue服务端渲染添加缓存的方法

什么是服务器端渲染(SSR)? Vue.js 是构建客户端应用程序的框架.默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM.然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完全可交互的应用程序. 服务器渲染的 Vue.js 应用程序也可以被认为是"同构"或"通用",因为应用程序的大部分代码都可以在服务器和客户端上运行. 缓存 虽然 Vue 的服务

JSP 页面缓存以及清除缓存

一.概述 缓存的思想可以应用在软件分层的各个层面.它是一种内部机制,对外界而言,是不可感知的. 数据库本身有缓存,持久层也可以缓存.(比如:hibernate,还分1级和2级缓存) 业务层也可以有缓存(但一般来说,这是一个过程域,不会设缓存). 表现层/数据服务层(传统web的表现层)也可以设置缓存(jsp cache 就是这一层,实现在app server上的缓存机制) 另外Browser也有缓存(如IE)这个大家也都知道(实现在 web server 上的缓存机制).越上层的缓存效果越好,越

SP 页面缓存以及清除缓存

JSP 页面缓存以及清除缓存 一.概述 缓存的思想可以应用在软件分层的各个层面.它是一种内部机制,对外界而言,是不可感知的. 数据库本身有缓存,持久层也可以缓存.(比如:hibernate,还分1级和2级缓存) 业务层也可以有缓存(但一般来说,这是一个过程域,不会设缓存). 表现层/数据服务层(传统web的表现层)也可以设置缓存(jsp cache 就是这一层,实现在app server上的缓存机制) 另外Browser也有缓存(如IE)这个大家也都知道(实现在 web server 上的缓存机

扫盲:php session缓存至memcached中的方法

memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用.这是一套开放源代码软件,以BSD license授权协议发布.[1] memcached仅支持一些非常简单的命令 比如get(获取某个键值) set(用来设定或保存一个缓存): 其本身是缓存服务器,但本身无法决定缓存任何数据,其缓存机制依赖于服务端和客户端两者必不可少(存储是由服务端进行存储,但存储什么是由客户端进行决定的) 因此客户端

web 开发之js---页面缓存, jsp 缓存, html 缓存, ajax缓存,解决方法

有关页面缓存问题.这个问题上网找了好多.但发觉各种解决方法,都彼此分离,没有一篇统一的解决方法,本人近日,也遇到了页面缓存的问题,根据网上各页面缓存的解答,做了一个总结. 1.服务器端缓存的问题, 防止JSP页面缓存: [java] view plaincopy <% // 将过期日期设置为一个过去时间 response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT"); // 设置 HTTP/1.1 n

Windows环境下使用Redis缓存工具的图文详细方法

网上找了两篇关于Redis的博客,记录下! Java 使用Redis缓存工具的图文详细方法 Windows环境下使用Redis缓存工具的图文详细方法

页面静态化2--- PHP缓存机制完成页面静态化

我们可以使用PHP自带的缓存机制来完成页面静态化,但在这里,需要说明一点,仅靠PHP缓存机制并不能完美的解决页面静态化,往往需要和其他页面静态技术(通常是伪静态技术)结合使用 例子: 当访问一个页面时,先判断是否存在缓存,存在则直接输出缓存文件中的内容,否则,先查询数据库,获得数据,生成缓存文件. 详解PHP缓存机制: output_buffering,常用的函数 ob_start() ob_get_contents() ob_clean() ob_end_clean() ob_flush()

页面静态化-----ob缓存

PHP程序 有三个缓存区: ob缓存 .程序缓存.浏览器缓存 ob = output buffer 输出缓冲 缓存区又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区.缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区. ob缓存技术是减轻服务器压力的一种,这些函数是为了在编程中字符串输出到客户端上去能够延长时间而用到,延迟输出(字符串先发送到缓冲区,需要时再输出到浏览器),是一种输出