一共有三种
第一种是全局守卫:
beforeEach 路由进入之前
这个是写在路由的里面的,只有进入这个路由才可以调用
afterEach 路由进入之后
全局后的钩子,钩子不会结束next函数也不会改变导航本身。
router.afterEach((to, from) => {
// ...
})
第二种 组件内守卫:
beforeRouteEnter 路由进入之前
beforeRouteUpdate 路由更新之前
beforeRouteLeave 路由离开之前
beforeRouteEnter (to, from, next) {
// 在渲染该组件的对应路由被 confirm 前调用
},
beforeRouteUpdate (to, from, next) {
// 在当前路由改变,但是该组件被复用时调用
},
beforeRouteLeave (to, from, next) {
// 导航离开该组件的对应路由时调用
// 可以访问组件实例 `this`
}
第三种:
独享守卫
beforeEnter 路由进入之前
有三个参数
to from next
router.beforeEach((to, from, next) => {
// to当前要跳去的路由对象
// form这是你要离开的路由对象
// next结束参数,可以看做一个保安,想过去就得打招呼,不然不让你过。
});
author:ice Sea Love Rain