Vue路由對象屬性 .meta $route.matched詳解
$route.fullPath
1 路由是:/path/:type真正路徑是:/path/list
2 path匹配路徑: /path/list
3 fullPath匹配路由: /path/:type
路由元信息 .meta
const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, children: [ { path: 'bar', component: Bar, // a meta field meta: { requiresAuth: true ,keepAlive:true}//1.權限 2.內(nèi)存緩存,單頁面切換 } ] } ] })
先理解什么是路由記錄 : 路由記錄就是 routes 配置數(shù)組中的對象副本 (還有在 children 數(shù)組)。
上方代碼中的路由記錄見下方:
//一級路由 { path: '/foo', component: Foo, children: [ { path: 'bar', component: Bar, // a meta field meta: { requiresAuth: true ,keepAlive:true}//1.權限 2.內(nèi)存緩存,單頁面切換 } ] } //一級路由的子路由 { path: 'bar',component: Bar,meta: { requiresAuth: true ,keepAlive:true } } //兩者都是 路由記錄
1 定義路由的時候可以配置 meta 字段
2 根據(jù)上面的路由配置,/foo/bar 這個 URL 將會匹配父路由記錄以及子路由記錄
3 一個路由匹配到的所有路由記錄會暴露為 $route 對象 (還有在導航守衛(wèi)中的路由對象) 的 $route.matched 數(shù)組。
4 檢查路由記錄中的 meta 字段 ,我們需要遍歷 $route.matched
$route.matched
1 一個數(shù)組,包含當前路由的所有嵌套路徑片段的路由記錄
2 一個路由匹配到的所有路由記錄會暴露為 $route 對象 (還有在導航守衛(wèi)中的路由對象) 的 $route.matched 數(shù)組
路由元信息 .meta $route.matched 搭配路由守衛(wèi) 進行驗證
router.beforeEach((to, from, next) => { if (to.matched.some(record => record.meta.requiresAuth)) { // this route requires auth, check if logged in // if not, redirect to login page. if (!auth.loggedIn()) { next({ path: '/login', query: { redirect: to.fullPath } }) } else { next() } } else { next() // 確保一定要調(diào)用 next() } })
以上這篇Vue路由對象屬性 .meta $route.matched詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
element-ui中導航組件menu的一個屬性:default-active說明
這篇文章主要介紹了element-ui中導航組件menu的一個屬性:default-active說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05使用vue-router在Vue頁面之間傳遞數(shù)據(jù)的方法
這篇文章主要介紹了使用vue-router在Vue頁面之間傳遞數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07vue 監(jiān)聽 Treeselect 選擇項的改變操作
這篇文章主要介紹了vue 監(jiān)聽 Treeselect 選擇項的改變操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08element table列表根據(jù)數(shù)據(jù)設置背景色
在使用elementui中的el-table時,需要將表的背景色和字體顏色設置為新顏色,本文就來介紹一下element table列表根據(jù)數(shù)據(jù)設置背景色,感興趣的可以了解一下2023-08-08