- 一個路由對象(route object)表示當前激活的路由的狀態信息,包含了當前URL解析獲得的信息,還有URL匹配到的路由記錄(route records)。
- 路由對象是不可變的,每次成功的導航都會產生一個新的對象。
- 在組件內,即this.$route;
- 在$route觀察者回調內;
- router.match(location)的返回值;
- 導航守衛的參數:
router.beforeEach((to, from, next) => { // to 和 from 都是路由對象 })
- scrollBehavior方法的參數:
const router = new VueRouter({ scrollBehavior (to, from, savedPosition){ // to 和 from 都是路由對象 } })
- $route.path
string類型,對應當前路由的路徑,老是解析爲絕對路徑,如"/man/tom";數組
- $route.params
object類型,一個key/value對象,包含了動態片斷和全匹配片斷,若是沒有路由參數,就是空對象;服務器
- $route.query
object類型,一個key/value對象,表示URL查詢參數。例如,對於路徑 /man?user=1, 則有$router.query.user== 1, 若是沒有查詢參數,則是一個空對象;this
- $route.hash
string類型,當前路由的hash值(帶#),若是沒有hash值,則爲空字符串;code
- $route.fullPath
完整解析後的URL,包含查詢參數和hash的完整路徑;component
- $route.matched
array<RouteRecord>數組類型,包含當前路由的全部嵌套路徑片斷的路由記錄。路由記錄就是routes配置數組中的對象副本(還有在children數組);當URL爲/foo/bar, $route.match將會是一個包含從上到下的全部對象(副本)。router
const router = new VueRouter({ routes: [ // 下面的對象就是路由記錄 { path:'foo', component: Foo, children: [ // 這也是一個路由記錄 { path: 'bar', component: Bar } ] } ] })
- $route.name
當前路由的名稱,若是有的話對象
- $route.redirectedFrom
若是存在重定向,即爲重定向來源的路由的名字。路由
重定向經常用於自動跳轉,從活動空間來看大概分兩類:服務器內部跳轉和服務器之間跳轉。字符串