https://blog.csdn.net/sinat_37255207/article/details/89373825

 

因为项目Vue router 连续嵌套了好几层 首先检查keep-alive的 include 和including 属性是否应用正确

include 是缓存包含  including是缓存相反

项目中嵌套了好几层keep-alive 那个页面需要缓存 应当给当前页面 父级最近的router 外面加keep-alive  而不是APP.vue 的最外层

因为所做的项目中有很多 分页页面 分页内容中还有 查看详情页面 那么点击查看详情后  跳入详情 在返回 当前 分页页面的缓存就应当 保留

我的方案如下

//分页父级的router   $store.state.keepAlive 是vuex全局变量用于储存
<template>
        <keep-alive :include="$store.state.keepAlive">
 
 
          <router-view/>  
        </keep-alive>
</template>

 

//点击查看详情
 click(str){
 
       //储存需要缓存的页面name 
       store.state.keepAlive=[this.$options.name]; 
       
       setTimeout(()=>{
            this.$router.push('')
       },0)
      
         
         
    },

最后 根据自己的需要 在指定场景清除  store.state.keepAlive 

 

 

 

 

相关文章:

  • 2022-12-23
  • 2021-08-22
  • 2022-12-23
  • 2021-10-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-15
  • 2022-12-23
  • 2021-11-11
  • 2022-12-23
  • 2022-12-23
  • 2022-01-18
  • 2022-12-23
相关资源
相似解决方案