vue-router钩子函数有三个类型,分别是全局路由守卫,单个路由守卫和组件独享守卫。
const router = new VueRouter({
mode: "history",
base: process.env.BASE_URL,
routes,
});
//全局前置守卫
router.beforeEach((to, from, next) => {
});
// 全局后置钩子
router.afterEach((to, from) => {
});
{
path: "/",
name: "Home",
component: Home,
// 路由独享守卫
beforeEnter: (to, from, next) => {
},
},
beforeRouteEnter(to, from, next) {
// 因为当守卫执行前,组件实例还没被创建
},
beforeRouteUpdate(to, from, next) {
// 在当前路由改变,但是该组件被复用时调用
},
beforeRouteLeave(to, from, next) {
// 导航离开该组件的对应路由时调用
}