vue route设置页面缓存noCache不起作用?

问题:在做某项目时,只希望某个页面在切换页面时,不重新加载,加入缓存。

实现:

1、在store/modules/permission.js中对单独页面进行处理

function filterAsyncRouter(asyncRouterMap) {
  return asyncRouterMap.filter(route => {
    if (route.component) {
      // Layout组件特殊处理
      if (route.component === 'Layout') {
        route.component = Layout
      } else {
        console.log(route,'======');
        // 处理获取积分详情/兑换积分详情加入缓存
        if(route.path == "mallIntegralDetailIn" || route.path == "mallIntegralDetailOut"){
          route.meta.noCache = false
      }
        route.component = loadView(route.component)
      }
    }
    if (route.children != null && route.children && route.children.length) {
      route.children = filterAsyncRouter(route.children)
    }
    return true
  })
}

但要注意路由的name字段大小写的问题!!!!!


image.png

具体要某个页面的name字段要与其保持一致!!!!


image.png

只有保持name一致,缓存才会生效!!!!
当然,有些系统,在配置菜单的时候,会有是否缓存的选项,这个是针对页面无这种设置的情况,进行的处理!!!
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容