路由的設定和跳躍中有兩個物件$router和$route,是不是很像,有些傻傻分不清。這篇文章帶大家了解vue路由中$route和$router的差別,希望對大家有幫助!
最近在學習vue的路由之間傳值,這就牽涉到了兩個物件 $route
和$router
這兩者之間的區別,自己也透過上網查了一些資料,最後做出以下的總結。
1、$router
是VueRouter的一個對象,透過Vue.use(VueRouter)和Vue建構子得到一個router的實例對象,這個物件中是一個全域的對象,他包含了所有的路由,包含了許多關鍵的對象和屬性。 【相關推薦:《vue.js教學》】
#以history物件來舉例:
$router. push({path:'home'}),本質是在history堆疊中新增一個路由,在我們看來是切換路由,但本質是在新增一個history記錄
$router.replace({path :'home'}),//替換路由,沒有歷史記錄
$router.push('/login') ,跳到指定路由
2、$route
是一個跳轉的路由對象,每個路由都會有一個$route對象,是一個局部的對象,可以取得對應的name,path,params,query等
這兩者不同的結構可以看出兩者的區別,他們的一些屬性是不同的。
$route.path 字串,等於目前路由對象的路徑,會被解析為絕對路徑,如/home/ews
$route.params 對象,含路有種的動態片段和全匹配片段的鍵值對,不會拼接到路由的url後面
$route.query 對象,包含路由中查詢參數的鍵值對。會拼接到路由url後面
$route.router 路由規則所屬的路由器
$route.matchd 數組,包含目前符合的路徑中所包含的所有片段所對象的設定參數對象
$route.name 目前路由的名字,如果沒有使用特定路徑,則名字為空
更多程式相關知識,請造訪:程式設計影片! !
以上是vue路由學習區分$route和$router,看看它們的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!