Skip to content

Commit

Permalink
fix: fix keepAlive not work
Browse files Browse the repository at this point in the history
  • Loading branch information
anncwb committed Dec 5, 2020
1 parent 4cca007 commit b884654
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 15 deletions.
2 changes: 1 addition & 1 deletion src/layouts/page/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export default defineComponent({
const renderComp = () => <Component key={route.fullPath} />;

const PageContent = unref(openCache) ? (
<KeepAlive>{renderComp()}</KeepAlive>
<KeepAlive include={cacheTabs}>{renderComp()}</KeepAlive>
) : (
renderComp()
);
Expand Down
3 changes: 2 additions & 1 deletion src/layouts/page/useCache.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,18 @@ export function useCache(isPage: boolean) {
// not parent layout
return cached.get(PAGE_LAYOUT_KEY) || [];
}

const cacheSet = new Set<string>();
cacheSet.add(unref(name));

const list = cached.get(unref(name));

if (!list) {
return Array.from(cacheSet);
}
list.forEach((item) => {
cacheSet.add(item);
});

return Array.from(cacheSet);
});
return { getCaches };
Expand Down
8 changes: 2 additions & 6 deletions src/router/guard/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { isNavigationFailure, RouteLocationNormalized, Router } from 'vue-router';
import { RouteLocationNormalized, Router } from 'vue-router';

import { Modal, notification } from 'ant-design-vue';

Expand Down Expand Up @@ -50,7 +50,7 @@ export function createGuard(router: Router) {
return true;
});

router.afterEach((to, from, failure) => {
router.afterEach((to) => {
// scroll top
isHash((to as RouteLocationNormalized & { href: string })?.href) && body.scrollTo(0, 0);

Expand All @@ -60,10 +60,6 @@ export function createGuard(router: Router) {

// change html title
to.name !== REDIRECT_NAME && setTitle(t(to.meta.title), globSetting.title);

if (isNavigationFailure(failure)) {
console.error('router navigation failed:', failure);
}
});
createPageLoadingGuard(router);
createProgressGuard(router);
Expand Down
6 changes: 3 additions & 3 deletions src/router/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ export function setupRouter(app: App<Element>) {
createGuard(router);
}

router.onError((error) => {
console.error(error);
});
// router.onError((error) => {
// console.error(error);
// });

export default router;
1 change: 1 addition & 0 deletions src/router/routes/modules/demo/level.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ const permission: AppRouteModule = {
component: () => import('/@/views/demo/level/Menu2.vue'),
meta: {
title: 'Menu2',
// ignoreKeepAlive: true,
},
},
],
Expand Down
9 changes: 5 additions & 4 deletions src/store/modules/tab.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,13 @@ class Tab extends VuexModule {
const pageCacheSet = new Set<string>();
this.tabsState.forEach((tab) => {
const item = getRoute(tab);
const needAuth = !item.meta.ignoreAuth;
const needCache = !item.meta.ignoreKeepAlive;
if (!needCache) return;

if (item.meta.affix) {
const name = item.name as string;
pageCacheSet.add(name);
} else if (item.matched && needAuth) {
} else if (item.matched && needCache) {
const matched = item.matched;
const len = matched.length;

Expand All @@ -115,7 +117,7 @@ class Tab extends VuexModule {
}
if (i < len - 1) {
const { meta, name } = matched[i + 1];
if (meta && (meta.affix || needAuth)) {
if (meta && (meta.affix || needCache)) {
const mapList = cacheMap.get(key) || [];
if (!mapList.includes(name as string)) {
mapList.push(name as string);
Expand Down Expand Up @@ -210,7 +212,6 @@ class Tab extends VuexModule {
@Mutation
commitRedoPage() {
const route = router.currentRoute.value;

for (const [key, value] of this.cachedMapState) {
const index = value.findIndex((item) => item === (route.name as string));
if (index === -1) {
Expand Down

0 comments on commit b884654

Please sign in to comment.