237 lines
5.3 KiB
237 lines
5.3 KiB
type Component = any |
|
type Dictionary<T> = { [key: string]: T } |
|
type ErrorHandler = (err: Error) => void |
|
|
|
export type RouterMode = "hash" | "history" | "abstract" |
|
export type RawLocation = string | Location |
|
export type RedirectOption = RawLocation | ((to: Route) => RawLocation) |
|
export type NavigationGuardNext = ( |
|
to?: RawLocation | false | void, |
|
) => void |
|
|
|
export type NavigationGuard = ( |
|
to: Route, |
|
from: Route, |
|
next: NavigationGuardNext, |
|
) => any |
|
|
|
interface _History { |
|
current: Route; |
|
} |
|
|
|
export declare class VueRouter { |
|
constructor(options?: Obj) |
|
|
|
mode: RouterMode; |
|
currentRoute: Route; |
|
|
|
history: _History; |
|
|
|
beforeEach(guard: NavigationGuard): Function |
|
|
|
beforeResolve(guard: NavigationGuard): Function |
|
|
|
afterEach(hook: (to: Route, from: Route) => any): Function |
|
|
|
push(location: RawLocation): Promise<Route> |
|
|
|
replace(location: RawLocation): Promise<Route> |
|
|
|
push( |
|
location: RawLocation, |
|
onComplete?: Function, |
|
onAbort?: ErrorHandler, |
|
): void |
|
|
|
replace( |
|
location: RawLocation, |
|
onComplete?: Function, |
|
onAbort?: ErrorHandler, |
|
): void |
|
|
|
go(n: number): void |
|
|
|
back(): void |
|
|
|
forward(): void |
|
|
|
match(raw: RawLocation, current?: Route, redirectedFrom?: Location): Route |
|
|
|
getMatchedComponents(to?: RawLocation | Route): Component[] |
|
|
|
onReady(cb: Function, errorCb?: ErrorHandler): void |
|
|
|
onError(cb: ErrorHandler): void |
|
|
|
addRoutes(routes: RouteConfig[]): void |
|
|
|
addRoute(parent: string, route: RouteConfig): void |
|
addRoute(route: RouteConfig): void |
|
|
|
getRoutes(): RouteRecordPublic[] |
|
|
|
resolve( |
|
to: RawLocation, |
|
current?: Route, |
|
append?: boolean, |
|
): { |
|
location: Location |
|
route: Route |
|
href: string |
|
// backwards compat |
|
normalizedTo: Location |
|
resolved: Route |
|
} |
|
|
|
} |
|
|
|
type RoutePropsFunction = (route: Route) => Object |
|
|
|
interface _RouteConfigBase { |
|
path: string; |
|
name?: string; |
|
children?: RouteConfig[]; |
|
redirect?: RedirectOption; |
|
alias?: string | string[]; |
|
meta?: RouteMeta; |
|
beforeEnter?: NavigationGuard; |
|
caseSensitive?: boolean; |
|
pathToRegexpOptions?: PathToRegexpOptions; |
|
} |
|
|
|
interface RouteConfigSingleView extends _RouteConfigBase { |
|
component?: Component; |
|
props?: boolean | Object | RoutePropsFunction; |
|
} |
|
|
|
interface RouteConfigMultipleViews extends _RouteConfigBase { |
|
components?: Dictionary<Component>; |
|
props?: Dictionary<boolean | Object | RoutePropsFunction>; |
|
} |
|
|
|
type RouteConfig = RouteConfigSingleView | RouteConfigMultipleViews |
|
|
|
interface PathToRegexpOptions { |
|
sensitive?: boolean; |
|
strict?: boolean; |
|
end?: boolean; |
|
} |
|
|
|
interface _RouteConfigBase { |
|
path: string; |
|
name?: string; |
|
children?: RouteConfig[]; |
|
redirect?: RedirectOption; |
|
alias?: string | string[]; |
|
meta?: RouteMeta; |
|
beforeEnter?: NavigationGuard; |
|
caseSensitive?: boolean; |
|
pathToRegexpOptions?: PathToRegexpOptions; |
|
} |
|
|
|
interface RouteRecord { |
|
path: string; |
|
regex: RegExp; |
|
components: Dictionary<Component>; |
|
name?: string; |
|
parent?: RouteRecord; |
|
redirect?: RedirectOption; |
|
matchAs?: string; |
|
meta: RouteMeta; |
|
beforeEnter?: ( |
|
route: Route, |
|
redirect: (location: RawLocation) => void, |
|
next: () => void, |
|
) => any; |
|
props: |
|
| boolean |
|
| Object |
|
| RoutePropsFunction |
|
| Dictionary<boolean | Object | RoutePropsFunction>; |
|
} |
|
|
|
interface RouteRecordPublic { |
|
path: string; |
|
components: Dictionary<Component>; |
|
name?: string; |
|
redirect?: RedirectOption; |
|
meta: any; |
|
beforeEnter?: ( |
|
route: Route, |
|
redirect: (location: RawLocation) => void, |
|
next: () => void, |
|
) => any; |
|
props: |
|
| boolean |
|
| Object |
|
| RoutePropsFunction |
|
| Dictionary<boolean | Object | RoutePropsFunction>; |
|
} |
|
|
|
|
|
interface Location { |
|
name?: string; |
|
path?: string; |
|
hash?: string; |
|
query?: Dictionary<string | (string | null)[] | null | undefined>; |
|
params?: Dictionary<string>; |
|
append?: boolean; |
|
replace?: boolean; |
|
} |
|
|
|
interface Route { |
|
path: string; |
|
name?: string | null; |
|
hash: string; |
|
query: Dictionary<string | (string | null)[]>; |
|
params: Dictionary<string>; |
|
fullPath: string; |
|
matched: RouteRecord[]; |
|
redirectedFrom?: string; |
|
meta?: RouteMeta; |
|
} |
|
|
|
interface RouteMeta extends Record<string | number | symbol, any> { |
|
} |
|
|
|
|
|
export declare class Router { |
|
constructor(op: { [key: string]: any }); |
|
|
|
static $router: VueRouter; |
|
|
|
route(route: string, callback: Function): this; |
|
route(route: string, name: string, callback?: Function): this; |
|
|
|
execute(callback?: Function, args?: any[]): void; |
|
|
|
navigate(fragment: string, options?: { [key: string]: any } | boolean): this; |
|
} |
|
|
|
export declare class History { |
|
atRoot(): boolean; |
|
|
|
getSearch(): string; |
|
|
|
getHash(window?: Window): string; |
|
|
|
getPath(): string; |
|
|
|
getFragment(fragment?: string): string; |
|
|
|
start(op?: { [key: string]: any }): void; |
|
|
|
stop(): void; |
|
|
|
route(route: string, callback: Function): void; |
|
|
|
checkRoute(route: string): { route: string, callback: Function }; |
|
|
|
unRoute(route: string): void; |
|
|
|
checkUrl(e?: Event): void; |
|
|
|
loadUrl(fragment: string): boolean; |
|
|
|
navigate(fragment: string, options?: { [key: string]: any } | boolean): void; |
|
}
|
|
|