nebv
2020-10-11 03b6025d07e4df99474f80d3fa57e8b5238ba40c
src/layouts/iframe/useFrameKeepAlive.ts
@@ -6,12 +6,13 @@
import { AppRouteRecordRaw } from '/@/router/types';
import { useRouter } from 'vue-router';
import router from '/@/router';
import { unique } from '/@/utils';
export function useFrameKeepAlive() {
  const { currentRoute } = useRouter();
  function getAllFramePages(routes: AppRouteRecordRaw[]): AppRouteRecordRaw[] {
    const res: AppRouteRecordRaw[] = [];
    let res: AppRouteRecordRaw[] = [];
    for (const route of routes) {
      const { meta: { frameSrc } = {}, children } = route;
      if (frameSrc) {
@@ -21,6 +22,7 @@
        res.push(...getAllFramePages(children));
      }
    }
    res = unique(res, 'name');
    return res;
  }
@@ -30,6 +32,9 @@
  const getFramePages = computed(() => {
    const ret =
      getAllFramePages((toRaw(router.getRoutes()) as unknown) as AppRouteRecordRaw[]) || [];
    console.log('======================');
    console.log(ret);
    console.log('======================');
    return ret;
  });