有沒有和我一樣的童鞋蟋座,有時(shí)候在想獲取路由信息褐澎,或者想跳轉(zhuǎn)到別的頁面時(shí)籽孙,會(huì)不確定到底用$router
還是$route
烈评,如果你有這個(gè)困惑,那我們一起學(xué)習(xí)一下吧犯建。
$route
$route
其實(shí)是一個(gè)路由對(duì)象础倍,表示當(dāng)前激活的路由的狀態(tài)信息,包含了當(dāng)前 URL 解析得到的信息胎挎,還有 URL 匹配到的路由記錄沟启。
$route
可以出現(xiàn)在多個(gè)地方:
- 組件內(nèi)忆家,即
this.$route
- 在
$route.match(location)
的返回值中 - 在導(dǎo)航守衛(wèi)的參數(shù)中,
to
德迹、from
都是路由對(duì)象 -
scrollBehavior
方法的參數(shù)中 - 在
$route
觀察者回調(diào)內(nèi)
路由對(duì)象的屬性:
-
$route.path
當(dāng)前路由的路徑 -
$route.params
一個(gè) key/value 對(duì)象芽卿,包含了動(dòng)態(tài)片段和全匹配片段 -
$route.query
URL 查詢參數(shù) -
$route.name
當(dāng)前路由的名稱 -
$route.redirectedFrom
重定向來源的路由的名字 -
$route.fullPath
完成解析后的 URL,包含查詢參數(shù)和 hash 的完整路徑 -
$route.matched
一個(gè)數(shù)組胳搞,包含當(dāng)前路由的所有嵌套路徑片段的路由記錄
route
$router
$router
是VueRouter
的實(shí)例卸例,我們可以在組件內(nèi)通過this.$router
訪問路由器。
通過調(diào)用this.$router.push
肌毅、this.$router.replace
筷转、this.$router.go
等實(shí)現(xiàn)路由的跳轉(zhuǎn)。
也可以通過router
實(shí)例調(diào)用導(dǎo)航守衛(wèi)方法悬而,像比較常用的:router.beforeEach
呜舒、router.afterEach
等。
router