vue实现页面缓存功能

 更新时间:2021年10月28日 08:52:41   作者:无月大大  
这篇文章主要为大家详细介绍了vue实现页面缓存功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了vue实现页面缓存功能的具体代码,供大家参考,具体内容如下

主要利用keep-alive实现从列表页跳转到详情页,然后点击返回时,页面缓存不用重新请求资源。

一、在router里配置路由

在meta里定义页面是否需要缓存

import Vue from "vue";
import Router from "vue-router";

// 避免到当前位置的冗余导航
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
   return originalPush.call(this, location).catch(err => err)
}

Vue.use(Router);
export default new Router({
  base: '',
  routes: [{
      path: "/",
      name: "index",
      component: () => import("@/layout"),
      redirect: '/login',
      children: [
        {
          path: 'dutySheet',
          name: 'dutySheet',
          component: () => import("@/pages/Dashboard/DutySheet")
        },
        {
          path: 'searchWord',
          name: 'searchWord',
          component: () => import("@/pages/dailyReportManage/searchWord/index"),
          meta: {
            keepAlive: true // 需要缓存页面
          }
        },
        // 匹配维护
        {
          path: "troopAction",
          name: "troopAction",
          component: () => import("@/pages/Dashboard/TroopAction"),
          meta: {
            keepAlive: false//  不需要缓存
          }
     },
      ]
    },
  ]
});

二、配置APP.vue

使用keep-alive来进行缓存

<keep-alive>
    <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>

三、点击返回按钮时调用this.$router.back()方法就可以了

// 返回
      bacKBnt(){
        this.$router.back()
      },

四、清除缓存

只针对跳转到"exhibitionWord"或"exhibitionWeekWord"页面才进行缓存,跳转其他页面不用缓存。

beforeRouteLeave(to, from, next) {
      if (to.name == 'exhibitionWord' || to.name == 'exhibitionWeekWord') { // 需要缓存的路由name
          from.meta.keepAlive = true
          next()
        }else{
          from.meta.keepAlive = false
          next()
      }
    },

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

相关文章

  • vue filter 完美时间日期格式的代码

    vue filter 完美时间日期格式的代码

    这篇文章主要介绍了vue filter 完美时间日期格式的方法,文中给大家提到了vue filter方法-时间格式化 的代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-08-08
  • vue开发实现评论列表

    vue开发实现评论列表

    这篇文章主要为大家详细介绍了vue开发实现评论列表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vue中的computed 和 vm.$data 原理解析

    vue中的computed 和 vm.$data 原理解析

    这篇文章主要介绍了vue中的computed 和 vm.$data 原理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 详解Vue CLI 3.0脚手架如何mock数据

    详解Vue CLI 3.0脚手架如何mock数据

    这篇文章主要介绍了详解Vue CLI 3.0脚手架如何mock数据,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 构建Vue3桌面应用程序的方法

    构建Vue3桌面应用程序的方法

    在项目中会用到 Electron , 一种最流行的框架,可使用Javascript构建跨平台的桌面应用程序。在本文中,我们将研究如何通过 Vite 开发 Vue 3 桌面项目,感兴趣的可以了解一下
    2021-05-05
  • vue实现打地鼠小游戏

    vue实现打地鼠小游戏

    这篇文章主要为大家详细介绍了vue实现打地鼠小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • Vue自定义全局弹窗组件操作

    Vue自定义全局弹窗组件操作

    这篇文章主要介绍了Vue自定义全局弹窗组件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Vue3启用gzip压缩nginx配置详解

    Vue3启用gzip压缩nginx配置详解

    这篇文章主要为大家介绍了Vue3启用gzip压缩时nginx配置gzip示例详解详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • elementui之el-table-column日期格式显示方式

    elementui之el-table-column日期格式显示方式

    文章介绍了如何使用formatter属性对表格某一列的内容进行日期格式化,通过绑定日期格式化的方法实现,展示了前端代码的模板和方法,并给出了前端效果的展示
    2024-12-12
  • Vue实现数字动画的几种方案

    Vue实现数字动画的几种方案

    本文介绍了三种使用Vue实现动态数字动画的方案:使用Vue的响应式数据与`setInterval`逐步更新数字,通过Vue的动画API和CSS动画效果为数字增加过渡效果,以及使用更高效的`requestAnimationFrame`来提供更加流畅的动画表现,每种方案都详细说明了原理、实现步骤和代码示例
    2025-02-02

最新评论