Vue3 多路由指向同一组件 实现keep-alive缓存页面的解决

Vue3 多路由指向同一组件 实现keep-alive缓存页面的解决

因为写了自制tab页面,需要实现关闭tab页面时清除缓存,切换tab页面时不清除缓存,新增和编辑复用了同一个页面

vue3写法路由:

<router-view v-slot="{ Component }">
      <div class="app_container">
        <transition name="fade-transform" mode="out-in">
          <keep-alive :exclude="tagList().excludeList"> //tagList().excludeList是仓库全局数据,当删除页面标签时加上,有tab页面时去掉
            <component
              ref="myComponent"
              :is="wrap($route.name, Component)"
              :key="$route.name"
            />
          </keep-alive>
        </transition>
      </div>
    </router-view>

因为同一个页面的name是相同的
defineOptions({
name: “edit”,
});
我们需要用路由名称来定义组件名称

const wrapperMap = new Map();
const wrap = (name, component) => {
  let wrapper;
  const wrapperName = name;
  if (wrapperMap.has(wrapperName)) {
    wrapper = wrapperMap.get(wrapperName);
  } else {
    wrapper = {
      name: wrapperName,
      render() {
        return h("div", {}, component);
      },
    };
    wrapperMap.set(wrapperName, wrapper);
  }
  return h(wrapper);
};

cankao

参考:http://www.cppcns.com/wangluo/javascript/512982.html

相关推荐

  1. Vue-组件缓存-keep-alive

    2024-03-15 12:08:02       33 阅读
  2. Vuekeep-alive缓存组件理解

    2024-03-15 12:08:02       35 阅读
  3. Vuekeep-alive缓存组件理解

    2024-03-15 12:08:02       28 阅读
  4. vue3页面缓存种方法

    2024-03-15 12:08:02       16 阅读
  5. Vue3中使用缓存组件keep-alive vue3缓存组件

    2024-03-15 12:08:02       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 12:08:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 12:08:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 12:08:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 12:08:02       20 阅读

热门阅读

  1. 前端协商缓存和强缓存

    2024-03-15 12:08:02       17 阅读
  2. JVM-3

    JVM-3

    2024-03-15 12:08:02      18 阅读
  3. python-0006-django路由

    2024-03-15 12:08:02       25 阅读
  4. Django 数据库表模型与迁移

    2024-03-15 12:08:02       20 阅读
  5. 题目 1124: C语言训练-大、小写问题

    2024-03-15 12:08:02       21 阅读
  6. Python网络爬虫实战:从入门到进阶

    2024-03-15 12:08:02       22 阅读
  7. QT c++ 海康红外热像仪

    2024-03-15 12:08:02       15 阅读
  8. Oracle中的commit与rollback

    2024-03-15 12:08:02       16 阅读