vue-router的导航钩子有:1.全局导航钩子;2.组件内的钩子;3.单独路由独享组。
vue-router的导航钩子有三种,分别是:1.全局导航钩子;2.组件内的钩子;3.单独路由独享组,主要是用来拦截导航,让他完成跳转或取消,以下是导航钩子的使用示例:
1.全局导航钩子。
注意:全局导航钩子主要有前置守卫和后置钩子两种。
//前置守卫
const router = new VueRouter({ ... });
router.beforeEach((to, from, next) => {
// do someting
});
//后置钩子
router.afterEach((to, from) => {
// do someting
});
2.组件内的钩子。
注意:组件内的导航钩子主要有beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave这三种。
const File = {template: `<div>This is file</div>`,
beforeRouteEnter(to, from, next) {
// do someting
// 在渲染该组件的对应路由被 confirm 前调用
},
beforeRouteUpdate(to, from, next) {
// do someting
// 在当前路由改变,但是依然渲染该组件是调用
},
beforeRouteLeave(to, from ,next) {
// do someting
// 导航离开该组件的对应路由时被调用
}
}
3.单独路由独享组。
//在路由配置上直接进行定义
cont router = new VueRouter({
routes: [
{
path: '/file',
component: File,
beforeEnter: (to, from ,next) => {
// do someting
}
}
]
});