createVueRouterAdapter @vuqs/core/adapters/vue-router
Builds a QueryAdapter backed by vue-router. vue-router is an optional peer dependency, pulled in only if you import this subpath.
Usage
ts
import { createVueRouterAdapter } from '@vuqs/core/adapters/vue-router'
const adapter = createVueRouterAdapter({ defaultOptions: { history: 'replace' } })Type
ts
function createVueRouterAdapter(options?: VueRouterAdapterOptions): QueryAdapterParameters
options?: VueRouterAdapterOptionsrouter?: Router: the router instance. Defaults touseRouter(), so call insidesetupunless you pass it (required in a plugin ormain.ts).defaultOptions?: QueryAdapterDefaultOptions: adapter-level navigation defaults.
Return value
adapter: QueryAdapter- Returned without being provided. Pass it to
installQueryAdapterorprovideQueryAdapter. It readsrouter.currentRoute.value.queryand writes withrouter.replace, switching torouter.pushwhenhistoryis'push'. navigateresolves for successful and duplicate navigations. Router errors, aborted navigations, and cancelled navigations reject its promise.
- Returned without being provided. Pass it to
Behavior
Nested keys
Nested objects require matching parseQuery/stringifyQuery, for example with qs. Top-level repeated-key arrays work with the default vue-router parser. See Nested keys.
scroll
The adapter applies each write's scroll by wrapping the router's scrollBehavior on its first write. Links, application navigation and back/forward keep your scrollBehavior. See Navigation & options.
VueRouterAdapterOptions
ts
interface VueRouterAdapterOptions {
router?: Router
defaultOptions?: QueryAdapterDefaultOptions
}