Set up Nuxt config and routing shell
Agent-Logs-Url: https://github.com/hykilpikonna/corner/sessions/5ad4b623-9a6b-480e-80fa-d83eee774f01 Co-authored-by: hykilpikonna <22280294+hykilpikonna@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
1f385afee0
commit
12c0dc46bf
+10
-83
@@ -1,88 +1,15 @@
|
||||
import {createRouter, createWebHistory, NavigationFailure, RouteRecordRaw} from 'vue-router'
|
||||
import Home from '../views/Home.vue'
|
||||
import {NavigationFailure, useRoute, useRouter} from 'vue-router'
|
||||
|
||||
const routes: Array<RouteRecordRaw> = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'Home',
|
||||
meta: {title: 'Home', nav: true},
|
||||
component: Home
|
||||
},
|
||||
{
|
||||
path: '/about',
|
||||
name: 'About',
|
||||
meta: {title: '关于', nav: true},
|
||||
component: () => import('../views/About.vue')
|
||||
},
|
||||
{
|
||||
path: '/life',
|
||||
name: 'Life',
|
||||
meta: {title: '生活', nav: true},
|
||||
component: () => import('../views/Life.vue')
|
||||
},
|
||||
{
|
||||
path: '/blog',
|
||||
name: 'Blog',
|
||||
meta: {title: '记事本', nav: true},
|
||||
component: () => import('../views/Blog.vue'),
|
||||
props: route => (route.query)
|
||||
},
|
||||
{
|
||||
path: '/photo',
|
||||
name: 'Photo',
|
||||
meta: {title: '相册', nav: true},
|
||||
component: () => import('../views/Photo.vue')
|
||||
},
|
||||
{
|
||||
path: '/photo/:id',
|
||||
name: 'Photo ID',
|
||||
meta: {title: '相册', navBookmark: 'Photo'},
|
||||
component: () => import('../views/Photo.vue')
|
||||
},
|
||||
{
|
||||
path: '/others',
|
||||
name: 'Others',
|
||||
meta: {title: '更多', nav: true},
|
||||
component: () => import('../views/Others.vue')
|
||||
},
|
||||
{
|
||||
path: '/kitchen-menu',
|
||||
name: 'Menu',
|
||||
meta: {title: '菜单', navBookmark: 'Others'},
|
||||
component: () => import('../views/others/Menu.vue')
|
||||
},
|
||||
{
|
||||
path: '/friends',
|
||||
name: 'Friends',
|
||||
meta: {title: '朋友们', navBookmark: 'Others'},
|
||||
component: () => import('../views/others/Friends.vue')
|
||||
},
|
||||
{
|
||||
path: '/projects',
|
||||
name: 'Projects',
|
||||
meta: {title: '我做的', navBookmark: 'Others'},
|
||||
component: () => import('../views/others/Projects.vue')
|
||||
},
|
||||
]
|
||||
export function pushQuery(query: {[id: string]: string | null}): Promise<void | NavigationFailure | undefined> {
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
|
||||
export const router = createRouter({
|
||||
history: createWebHistory(),
|
||||
routes
|
||||
})
|
||||
const queries = {...route.query}
|
||||
|
||||
export function pushQuery(query: {[id: string]: string | null}): Promise<void | NavigationFailure | undefined>
|
||||
{
|
||||
const queries = {...router.currentRoute.value.query ?? {}}
|
||||
for (const k of Object.keys(query)) {
|
||||
if (query[k] == null) delete queries[k]
|
||||
else queries[k] = query[k]
|
||||
}
|
||||
|
||||
console.log(query)
|
||||
|
||||
for (const k of Object.keys(query))
|
||||
{
|
||||
if (query[k] == null) delete queries[k]
|
||||
else queries[k] = query[k]
|
||||
}
|
||||
|
||||
return router.push({query: queries})
|
||||
return router.push({query: queries})
|
||||
}
|
||||
|
||||
export default router
|
||||
|
||||
Reference in New Issue
Block a user