vue3页面路由缓存的一种方法

app.vue

<template>
  <div id="app">
    <router-view v-slot="{ Component }">
      <keep-alive>
        <component :is="Component" v-if="$route.meta.keepAlive" />
      </keep-alive>
      <component :is="Component" v-if="!$route.meta.keepAlive" />
    </router-view>
  </div>
</template>

<script setup>
</script>

router.js

 {
    path: '/MPcard/MPcard',
    name: 'MPcard',
    component: () => import('../views/MPcard/MPcard.vue'),
    meta: { title: "名片查询",keepAlive:true},
  },
  {
    path: '/MPcard/MPecharts',
    name: 'MPecharts',
    component: () => import('../views/MPcard/MPecharts.vue'),
    meta: { title: "名片图表" },
  },
  {
    path: '/MPechartsZX/MPechartsZX',
    name: 'MPechartsZX',
    component: () => import('../views/MPcard/MPechartsZX.vue'),
    meta: { title: "名片折线图表" },
  },

从 名片查询页面进入到名片图表或着名片折线图表页面,返回的名片查询页面是不需要刷新的,但是从其它页面进来是需要刷新的

页面

import { ref, onMounted, nextTick, onActivated, onDeactivated } from "vue";
import { useRouter, useRoute, onBeforeRouteLeave } from "vue-router";
const chushih=()=>{
  //这里就发送请求
}
onMounted(() => {
  console.log('刷新了')
  chushih();
});
const refreshFlag=ref('需要刷新')
onBeforeRouteLeave((to, from, next)=>{
  const element = document.getElementById('mainContent').scrollTop
  console.log('前往-to',to)
  console.log('当前也-from',from)
  console.log('离开了的时候当前页面的ID是mainContent的滚动高度',element)
  data.value.scrollTop=element
  // 这个是 进入数组里面的页面,需要缓存的
  let array=['/MPcard/MPecharts','/MPechartsZX/MPechartsZX']  //从这几个页面返回的不需要刷新
  if(array.includes(to.path)){
    refreshFlag.value='不需要刷新'
  }else{
    refreshFlag.value='需要刷新'
  }
  next()
})
onActivated(()=>{
  // console.log('回来了',refreshFlag.value)
  if(refreshFlag.value=='需要刷新'){
    chushih()
  }else{
    document.getElementById('mainContent').scrollTop=data.value.scrollTop
  }
})

相关推荐

  1. vue3页面缓存方法

    2024-03-29 13:26:01       17 阅读
  2. vue缓存

    2024-03-29 13:26:01       11 阅读
  3. vue3+vite动态实现方式

    2024-03-29 13:26:01       48 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 13:26:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 13:26:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 13:26:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 13:26:01       20 阅读

热门阅读

  1. 一段typescript+html实现的table增删改

    2024-03-29 13:26:01       19 阅读
  2. tp8用切换数据库的方式实现城市分站

    2024-03-29 13:26:01       16 阅读
  3. 《青少年成长管理2024》 009 “成长需要成本”

    2024-03-29 13:26:01       18 阅读
  4. mockito-02-spring aop 与 mockito 冲突及解决方案

    2024-03-29 13:26:01       21 阅读
  5. 【MySQL】mysql数据库小功能整理,持续更新~

    2024-03-29 13:26:01       18 阅读
  6. python面试题(36~50)

    2024-03-29 13:26:01       21 阅读
  7. day 1 HTTP基础

    2024-03-29 13:26:01       20 阅读
  8. 关闭Qt在windows上同时生成debug和release目录

    2024-03-29 13:26:01       15 阅读
  9. npm insall报错无效的依赖类型:别名(alias)

    2024-03-29 13:26:01       18 阅读