import { createRouter, createWebHistory, RouterView } from 'vue-router'
-import type { RouterLinkTyped } from 'vue-router'
import Home from './views/Home.vue'
import Nested from './views/Nested.vue'
import NestedWithId from './views/NestedWithId.vue'
import { globalState } from './store'
import { scrollWaiter } from './scrollWaiter'
import RepeatedParams from './views/RepeatedParams.vue'
-import { h } from 'vue'
-import type { FunctionalComponent } from 'vue'
let removeRoute: (() => void) | undefined
-const TransparentWrapper: FunctionalComponent = () => h(RouterView)
-TransparentWrapper.displayName = 'NestedView'
-
export const routerHistory = createWebHistory()
export const router = createRouter({
history: routerHistory,
{
path: '/admin',
- component: TransparentWrapper,
children: [
{ path: '', component },
{ path: 'dashboard', component },
},
})
-declare module 'vue-router' {
- export interface Config {
- Router: typeof router
- }
-}
-
// router.push({ name: 'user', params: {} })
const delay = (t: number) => new Promise(resolve => setTimeout(resolve, t))
for (let key in routes) {
nonReactiveRoutes[key] = markRaw(routes[key])
+ nonReactiveRoutes[key].matched.forEach(record => {
+ record.leaveGuards ??= new Set()
+ record.updateGuards ??= new Set()
+ })
}
return nonReactiveRoutes
props: any = {}
) {
const route = createMockedRoute(initialRoute)
- const wrapper = mount(RouterView as any, {
+ const wrapper = mount(RouterView, {
props,
global: {
provide: route.provides,
props: any = {}
) {
const route = createMockedRoute(initialRoute)
- const wrapper = await mount(RouterView as any, {
+ const wrapper = await mount(RouterView, {
props,
global: {
provide: route.provides,
props: any = {}
) {
const route = createMockedRoute(initialRoute)
- const wrapper = await mount(RouterView as any, {
+ const wrapper = await mount(RouterView, {
props,
global: {
provide: route.provides,
props: any = {}
) {
const route = createMockedRoute(initialRoute)
- const wrapper = await mount(RouterView as any, {
+ const wrapper = await mount(RouterView, {
props,
global: {
provide: route.provides,
'path' | 'name' | 'meta' | 'beforeEnter'
> {
leaveGuards?: any
+ updateGuards?: any
instances: Record<string, any>
enterCallbacks: Record<string, Function[]>
props: Record<string, _RouteRecordProps>