From 6bcd5cb310b92394de81cc8a02a2d3005fbd88a5 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 2 Jul 2022 12:12:10 +0900 Subject: [PATCH] enhance(client): cache pages in page-window --- packages/client/src/components/page-window.vue | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/client/src/components/page-window.vue b/packages/client/src/components/page-window.vue index 7de09d3be4..886f480bfb 100644 --- a/packages/client/src/components/page-window.vue +++ b/packages/client/src/components/page-window.vue @@ -48,7 +48,10 @@ const router = new Router(routes, props.initialPath); let pageMetadata = $ref>(); let windowEl = $ref>(); -const history = $ref([props.initialPath]); +const history = $ref<{ path: string; key: any; }[]>([{ + path: router.getCurrentPath(), + key: router.getCurrentKey(), +}]); const buttonsLeft = $computed(() => { const buttons = []; @@ -72,7 +75,7 @@ const buttonsRight = $computed(() => { }); router.addListener('push', ctx => { - history.push(router.getCurrentPath()); + history.push({ path: ctx.path, key: ctx.key }); }); provide('router', router); @@ -111,7 +114,7 @@ function menu(ev) { function back() { history.pop(); - router.change(history[history.length - 1]); + router.change(history[history.length - 1].path, history[history.length - 1].key); } function close() {