keep-alive保持前进刷新,后退缓存解决方案

可以实现:

a页面 =》b页面, b页面刷新。

b =》 a, a不刷新,缓存。

b =》 c , c刷新。

c =》 b, b不刷新, 缓存。

 

实现步骤:

第一步:

npm包解决问题: https://www.npmjs.com/package/v-keep-alive-chain

第二步:

用法:npm install v-keep-alive-chain

然后在 main.js 里对该包进行引用:

Vue.use(VKeepAliveChain, {
  key: 'cacheTo' // 可选的 默认为cacheTo
})

第三步:

配置router.js, 如下:

    {
      path: '/report-detail/:mrId',
      name: 'ReportDetail',
      meta: { cacheTo: ['RegisterPage', 'DiseaseMap'], title: '病情分析报告', showTitle: true },
      component: () => import('@/views/ai-diagnosis/ReportDetail.vue')
    },

 

解释:

cacheTo数组里的,是想要进入页面的name值, 如上诉代码, 在页面 ReportDetail(a) 跳往 RegisterPage(b)页面时, b页面就会刷新,但b跳往a页面时,a不刷新。

 

posted @ 2020-09-24 17:17  我叫悠哉  阅读(727)  评论(0编辑  收藏  举报