beforeEnter是Vue路由守衛中的一個鉤子函數,它在進入路由前進行判斷或者進行異步操作。
它可以在全局設置中,也可以在單個路由配置中使用,語法如下:
//全局設置 router.beforeEach((to, from, next) =>{ //to表示要去的路由對象,from表示當前的路由對象,next表示路由的跳轉方式(可選) //此處可以進行判斷或者異步操作,如登錄判斷、路由權限判斷等 next() //表示放行,可以進行路由跳轉 }) //單個路由配置 const router = new VueRouter({ routes: [ { path: '/home', component: Home, beforeEnter: (to, from, next) =>{ //此處也可以進行判斷或者異步操作 next() } } ] })
使用beforeEnter可以做很多操作,比如:
- 登錄狀態判斷,如果未登錄則跳轉到登錄頁
- 路由權限判斷,如果沒有權限則跳轉到無權訪問頁面
- 異步操作,如請求數據等
需要注意的是,在使用beforeEnter時,需要調用next()函數來進行路由跳轉,否則路由不會進行跳轉。
下一篇php的vue