A route object represents the state of the current active route. It contains parsed information of the current URL and the route records matched by the URL.
The route object is immutable. Every successful navigation will result in a fresh route object.
The route object can be found in multiple places:
-
Inside components as
this.$route
-
Inside
$route
watcher callbacks -
As the return value of calling
router.match(location)
-
Inside navigation guards as the first two arguments:
router.beforeEach((to, from, next) => { // `to` and `from` are both route objects })
-
Inside the
scrollBehavior
function as the first two arguments:const router = new VueRouter({ scrollBehavior (to, from, savedPosition) { // `to` and `from` are both route objects } })
-
$route.path
-
type:
string
A string that equals the path of the current route, always resolved as an absolute path. e.g.
"/foo/bar"
.
-
-
$route.params
-
type:
Object
An object that contains key/value pairs of dynamic segments and star segments. If there are no params the value will be an empty object.
-
-
$route.query
-
type:
Object
An object that contains key/value pairs of the query string. For example, for a path
/foo?user=1
, we get$route.query.user == 1
. If there is no query the value will be an empty object.
-
-
$route.hash
-
type:
string
The hash of the current route (with the
#
), if it has one. If no hash is present the value will be an empty string.
-
-
$route.fullPath
-
type:
string
The full resolved URL including query and hash.
-
-
$route.matched
- type:
Array<RouteRecord>
An Array containing route records for all nested path segments of the current route. Route records are the copies of the objects in the
routes
configuration Array (and inchildren
Arrays):const router = new VueRouter({ routes: [ // the following object is a route record { path: '/foo', component: Foo, children: [ // this is also a route record { path: 'bar', component: Bar } ] } ] })
When the URL is
/foo/bar
,$route.matched
will be an Array containing both objects (cloned), in parent to child order. - type:
-
$route.name
The name of the current route, if it has one. (See Named Routes)