This commit is contained in:
@ -2,72 +2,12 @@
|
||||
import { router } from '@/router';
|
||||
|
||||
definePage({
|
||||
alias: '/'
|
||||
alias: '/',
|
||||
});
|
||||
|
||||
const testButtons = [
|
||||
{
|
||||
text: 'Page1 -> Page2',
|
||||
onClick: async () => {
|
||||
console.clear();
|
||||
console.debug('⚙️ 预期结果:', ['Page1', 'Page2']);
|
||||
await router.push({ name: 'Page1' });
|
||||
await router.push({ name: 'Page2' });
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'A -> (B) -> C',
|
||||
onClick: async () => {
|
||||
console.clear();
|
||||
console.debug('⚙️ 预期结果: ', ['Page1', 'Page3']);
|
||||
await router.push({ name: 'Page1' });
|
||||
await router.push({ name: 'Page2' });
|
||||
await router.push({ name: 'Page3', replace: true });
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'A -> B -> C -> go(-2)',
|
||||
onClick: async () => {
|
||||
console.clear();
|
||||
console.debug('⚙️ 预期结果: ', ['/', '/Page1📍', '/Page2', '/Page3']);
|
||||
await router.push({ name: 'Page1' });
|
||||
await router.push({ name: 'Page2' });
|
||||
await router.push({ name: 'Page3' });
|
||||
router.go(-2);
|
||||
}
|
||||
},
|
||||
{
|
||||
text: 'A -> B -> C -> go(-1) -> (D)',
|
||||
onClick: async () => {
|
||||
console.clear();
|
||||
console.debug('⚙️ 预期结果: ', ['/', 'Page1', 'Page4📍', 'Page3']);
|
||||
await router.push({ name: 'Page1' });
|
||||
await router.push({ name: 'Page2' });
|
||||
await router.push({ name: 'Page3' });
|
||||
router.go(-1);
|
||||
|
||||
function popStateListener() {
|
||||
console.debug('back执行完成, 替换"Page2"为"Page4"');
|
||||
router.replace({ name: 'Page4' });
|
||||
window.removeEventListener('popstate', popStateListener);
|
||||
}
|
||||
|
||||
window.addEventListener('popstate', popStateListener);
|
||||
}
|
||||
}
|
||||
];
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex flex-col gap-2 items-start">
|
||||
<div class="flex gap-2">
|
||||
<t-button @click="$router.push({ name: 'Page1' })">ToPage1</t-button>
|
||||
<t-button @click="$router.push({ name: 'Page2' })">ToPage2</t-button>
|
||||
<t-button @click="$router.push({ name: 'Page3' })">ToPage3</t-button>
|
||||
</div>
|
||||
|
||||
<template v-for="btn in testButtons" :key="btn.text">
|
||||
<t-button theme="primary" @click="btn.onClick">{{ btn.text }}</t-button>
|
||||
</template>
|
||||
<div>
|
||||
<h1>Index Page</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -1,10 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<t-button @click="$router.back()">back()</t-button>
|
||||
</div>
|
||||
<div class="h-2" />
|
||||
<div class="flex gap-2">
|
||||
<t-button @click="$router.push({ name: 'Page2' })">ToPage2</t-button>
|
||||
<t-button @click="$router.replace({ name: 'Page2' })">ReplaceToPage2</t-button>
|
||||
</div>
|
||||
</template>
|
@ -1,31 +0,0 @@
|
||||
<template>
|
||||
<!-- <VanButton @click="backToHome">Back to Home</VanButton> -->
|
||||
<div class="flex gap-2">
|
||||
<t-button @click="$router.go(-1)">go(-1)</t-button>
|
||||
<t-button @click="$router.go(-2)">go(-2)</t-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { router } from '@/router';
|
||||
|
||||
function backToHome() {
|
||||
console.log('router.options.history.state.back :>> ', router.options.history.state.back);
|
||||
|
||||
const backToName = 'IndexPage';
|
||||
console.log('backToName :>> ', backToName);
|
||||
let backCount = 0;
|
||||
/* for (let i = router.stack.currentStackIndex - 1; i >= 0; i--) {
|
||||
if (router.stack.list[i].name === backToName) {
|
||||
backCount = router.stack.currentStackIndex - i;
|
||||
break;
|
||||
}
|
||||
} */
|
||||
console.log('backCount :>> ', backCount);
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
// console.log('router.currentRoute.value.from :>> ', router.currentRoute.value.from);
|
||||
// backToHome()
|
||||
});
|
||||
</script>
|
@ -1 +0,0 @@
|
||||
<template>page-3</template>
|
@ -1 +0,0 @@
|
||||
<template>page-4</template>
|
Reference in New Issue
Block a user