enhance(client): cache pages in page-window

This commit is contained in:
syuilo 2022-07-02 12:12:10 +09:00
parent aee19d16c6
commit d2e72307f6

View file

@ -48,7 +48,10 @@ const router = new Router(routes, props.initialPath);
let pageMetadata = $ref<null | ComputedRef<PageMetadata>>();
let windowEl = $ref<InstanceType<typeof XWindow>>();
const history = $ref<string[]>([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() {