一、路由:它是監聽url地址變化,來實現頁面組件動態切換的一個vue插件庫
二、安裝版本:cnpm i -S vue-router@3
三、注入首頁文件index或者main.js文件:Vue.use(Router)
注冊了全局路由組件可以使用:router-view(視圖頁面展示)、router-link(a鏈接跳轉),還有一個keep-alive
四、實例化:new Router :配置兩種 mode模式、routes配置路由和組件的關聯關系
1)mode模式下:hash:路由會一個#標識。history:路由沒有#標識 =>這也是區別 用history方式方便點
2)routes它是接收一個數組(里面存放組件的路徑對象),
route(參數配置): 1.path:是定義路由的地址 一級路由上必須以‘/’開始,后面子二級路由就必須去掉/
2.redirect:是重定向到哪個地址
3.component:指定路由需要加載的組件
4.name:定義一個名字
5.children:是定義子路由的使用
五、全局掛載:router.Router實例
1.matched方法 是數組配置路由對象
2.跳轉路由:$router push(地址字符串)
對象:{path:地址,name:路由名字,query:查詢參數,params:動態路由參數}
go:(回去步驟數量)
back:
3.參數:$route :qurey(查詢參數),params(動態路由參數使用+id),meta(定義meta屬性來獲取固定參數)
4.頁面攔截鈎子函數,導航衛士
5.指定路由組件掛載位置:在全局掛載組件中使用RouterView占位符組件
六、攔截
常常是在系統中,使用全局攔截實現用戶的登錄認證用戶,頁面攔截是用於對訪問的提示或者權限
1,路由訪問權限攔截:使用頁面攔截實現用戶編輯離開提示;還可以實現頁面權限進入認證
全局攔截:通用攔截 beforeEach
to(將要跳轉到理由參數對象)
from(從哪個路由過來的路由參數對象)
next (是否繼續執行路由跳轉業務) =>一般會對登錄驗證再跳轉,如果沒有就直接下一步
2.頁面攔截(個性化攔截)兩個
boforeRouteEnter(進入頁面前的攔截)
beforeLeave(離開前的攔截) =>這個是否要放棄編輯或者離開的提示時候使用