1、區別
用一句話來概括這兩個區別就是route是用來獲取路由信息的,router是用來操作路由的。
2、route
2.1什么是route:
route是一個路由對象(route object)表示當前激活的路由的狀態信息,它包含了當前URL解析得到的信息,還有URL匹配的路由記錄。
路由對象是不可變的,每次成功的導航后都會產生一個新的對象。
2.2路由屬性
1)、path 字符串,對應當前路由的路徑,總是解析為絕對路徑。
2)、params 一個key/velue對象,包含了動態片段和全匹配片段,如果沒有路由參數,就是一個空對象,換句話說就是通過params傳遞的參數。
3)、query 一個 key/value 對象,表示 URL 查詢參數。例如,對于路徑 /foo?user=1,則有 $route.query.user == 1,如果沒有查詢參數,則是個空對象。也包括通過 query
傳遞的參數。
4)、hash 當前路由的hash值(帶#),如果沒有hash值,則為空字符串。
5)、fullPath 完成解析后的URL,包含查詢參數和hash的完整路徑
6)、matched 一個數組,包含當前路由的所有嵌套路徑片段的路由記錄。路由記錄就是 routes 配置數組中的對象副本 (還有在 children 數組)。
7)、name 當前路由的名稱,如果有的話。
8)、redirectedFrom 如果存在重定向,即為重定向來源的路由的名字。
9)、meta 路由元信息
3、router
3.1什么是router
router是全局路由的實例,是router構造方法的實例。
3.2路由實例方法
1)、push
字符串router.push(‘home’)
對象router.push({path:‘home’})
2)、go
頁面路由跳轉 前進或者后退router.go(-1) //后腿
3)、replace
push方法回向history棧添加一個新的記錄,而replace方法是替換當前的頁面,不會向history棧添加一個新的記錄
4)、一般使用replace來做404頁面