Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "router"

Index

Type aliases

CachedRouteComponents

CachedRouteComponents: string[]

Variables

Const cachedRouteComponents

cachedRouteComponents: string[] = ['search-route'] as CachedRouteComponents

Const routeEvents

routeEvents: EventListener<Payloads, RouteEvents> = new EventListener<Payloads, RouteEvents>()

Route events

Const router

router: VueRouter = new VueRouter({mode: 'history',scrollBehavior(to, from, savedPosition) {const promise = to.meta.async ?new Promise<void>(resolve => routeEvents.once(RouteEvents.Loaded, resolve)): Promise.resolve();if (savedPosition) {return promise.then(() => savedPosition);}return undefined;},routes: [// Index page{path: '/',name: 'index',component: IndexRoute,meta: {refreshOnReconnect: true}},// Auth pages{path: '/login',name: 'login',component: LoginRoute,},{path: '/register',name: 'register',component: RegisterRoute,},{path: '/password/reset',name: 'password-email',component: PasswordEmailRoute,},{path: '/password/reset/:token',name: 'password-reset',component: PasswordResetRoute,props: true,},// Display pages{path: '/user/:username',name: 'user',components: {default: UserRoute,navigation: UserNavigation,},props: {default: true},meta: {async: true,refreshOnReconnect: true}},{path: '/me',name: 'me',redirect: to => {if (!!store.state.user)return {name: 'user', params: {username: store.state.user.username}};elsereturn {name: 'login'}},},{path: '/offer/:id(\\d+)',name: 'offer',component: OfferRoute,props: route => ({id: parseInt(route.params.id)}),meta: {refreshOnReconnect: true}},{path: '/search/:query?',name: 'search',component: SearchRoute,props: true,meta: {refreshOnReconnect: true}},// Modify pages{path: '/offer/create',name: 'offer-create',component: OfferFormRoute,},{path: '/offer/edit/:id(\\d+)',name: 'offer-edit',component: OfferFormRoute,props: route => ({id: parseInt(route.params.id)}),},{path: '/me/settings',name: 'user-settings',components: {default: UserSettingsRoute,navigation: UserNavigation},props: {navigation: {isThisUser: true}}},//administration{path: '/admin',components: {default: AdminRoute,navigation: AdminNavigation,},children: [{path: '/',name: 'admin',redirect: () => ({name: 'admin-reported'})},{path: 'reported',name: 'admin-reported',component: AdminReportedRoute,meta: {parent: 'admin',refreshOnReconnect: true,}},{path: 'banned/:query?',name: 'admin-banned',component: AdminBannedRoute,props: true,meta: {parent: 'admin',refreshOnReconnect: true,}},]},// error{path: '/404',name: 'error',component: ErrorRoute},{path: '*',component: ErrorRoute},]})

Functions

cached

  • Get list of route components that should be cached

    Parameters

    • Default value suffix: string = ""

      String suffix to append to each component

    Returns CachedRouteComponents

getRouteMainComponent

  • getRouteMainComponent(route?: Route): null | Vue & object
  • Get the main Vue component of route

    Parameters

    • Default value route: Route = router.currentRoute

    Returns null | Vue & object

routesMatch

  • routesMatch(route1: Route | Location, route2?: Route | Location, ignoreParams?: boolean, checkParent?: boolean): boolean
  • Check whether two routes are identical

    Parameters

    • route1: Route | Location
    • Default value route2: Route | Location = router.currentRoute
    • Default value ignoreParams: boolean = false
    • Default value checkParent: boolean = false

    Returns boolean

Object literals

Const queryModalRouter

queryModalRouter: object

offer

offer: object

component

component: VueConstructor<Vue> = OfferModal

size

size: string = "xl"

Generated using TypeDoc