Skip to content

vue-router / RouterOptions

RouterOptions

Options to initialize a Router instance.

Extends

  • EXPERIMENTAL_RouterOptions_Base

Properties

end?

ts
optional end?: boolean;

Should the RegExp match until the end by appending a $ to it.

Deprecated

this option will alsways be true in the future. Open a discussion in vuejs/router if you need this to be false

Default Value

true

Inherited from

_PathParserOptions.end


history

ts
history: RouterHistory;

History implementation used by the router. Most web applications should use createWebHistory but it requires the server to be properly configured. You can also use a hash based history with createWebHashHistory that does not require any configuration on the server but isn't handled at all by search engines and does poorly on SEO.

Example

js
createRouter({
  history: createWebHistory(),
  // other options...
})

Inherited from

ts
EXPERIMENTAL_RouterOptions_Base.history

linkActiveClass?

ts
optional linkActiveClass?: string;

Default class applied to active RouterLink. If none is provided, router-link-active will be applied.

Inherited from

ts
EXPERIMENTAL_RouterOptions_Base.linkActiveClass

linkExactActiveClass?

ts
optional linkExactActiveClass?: string;

Default class applied to exact active RouterLink. If none is provided, router-link-exact-active will be applied.

Inherited from

ts
EXPERIMENTAL_RouterOptions_Base.linkExactActiveClass

matcher?

ts
optional matcher?: RouterMatcher;

Internal

Allows Nuxt and SSR apps to pass a prebuilt matcher created with createRouterMatcher. Sharing a matcher between routers is only safe when no router mutates it (e.g. via addRoute).

for Nuxt only

Deprecated

This is only exposed for Nuxt, it's replaced in the upcoming router by the resolver option


parseQuery?

ts
optional parseQuery?: (search) => LocationQuery;

Custom implementation to parse a query. See its counterpart, EXPERIMENTAL_RouterOptions_Base.stringifyQuery.

Internal

Transforms a queryString into a LocationQuery object. Accept both, a version with the leading ? and without. Uses Object.create(null) so the returned object cannot be exploited via prototype pollution.

Parameters

string

search string to parse

Returns

LocationQuery

a query object

Example

Let's say you want to use the qs package to parse queries, you can provide both parseQuery and stringifyQuery:

js
import qs from 'qs'

createRouter({
  // other options...
  parseQuery: qs.parse,
  stringifyQuery: qs.stringify,
})

Inherited from

ts
EXPERIMENTAL_RouterOptions_Base.parseQuery

routes

ts
routes: readonly RouteRecordRaw[];

Initial list of routes that should be added to the router.


scrollBehavior?

ts
optional scrollBehavior?: RouterScrollBehavior;

Function to control scrolling when navigating between pages. Can return a Promise to delay scrolling.

See

RouterScrollBehavior.

Example

js
function scrollBehavior(to, from, savedPosition) {
  // `to` and `from` are both route locations
  // `savedPosition` can be null if there isn't one
}

Inherited from

ts
EXPERIMENTAL_RouterOptions_Base.scrollBehavior

sensitive?

ts
optional sensitive?: boolean;

Makes the RegExp case-sensitive.

Default Value

false

Inherited from

_PathParserOptions.sensitive


strict?

ts
optional strict?: boolean;

Whether to disallow a trailing slash or not.

Default Value

false

Inherited from

_PathParserOptions.strict


stringifyQuery?

ts
optional stringifyQuery?: (query) => string;

Custom implementation to stringify a query object. Should not prepend a leading ?. parseQuery counterpart to handle query parsing.

Internal

Stringifies a LocationQueryRaw object. Like URLSearchParams, it doesn't prepend a ?

Parameters

query

LocationQueryRaw | undefined

query object to stringify

Returns

string

string version of the query without the leading ?

Inherited from

ts
EXPERIMENTAL_RouterOptions_Base.stringifyQuery

Released under the MIT License.