1.全局前置守卫:可以监听到所有的页面跳转,具有拦截页面跳转的功能
router.beforeEach((to,from,next)=>{
next() // 需要手动调用next()否则所有页面将无法跳转
})
2.全局解析守卫:等全局前置守卫执行之后执行,具有拦截页面跳转的功能
router.beforeResolve((to,from,next)=>{
// to:既将要前往的路由对象
//from:即将要离开的路由对象
// next:路由跳转方法
next() // 需要手动调用next()否则所有页面将无法跳转
})
3.全局后置钩子:可以监听到所有的页面跳转,具有拦截页面跳转的功能
router.afterEach((to,from)=>{
// to:既将要前往的路由对象
//from:即将要离开的路由对象
})
4.路由独享守卫:只针对路由规则起作用,具备拦截页面跳转功能
{
path:‘/’,
component:/,
beforeEnter:(to,from,next)=>{
next()
}
}
5.beforeRouterEnter:组件内的守卫,在渲染该组件的对应路由前
export default{
beforeRouterEnter((to,from,next)=>{
// to:既将要前往的路由对象
//from:即将要离开的路由对象
})
}
6.beforeRouterUpdata:动态路由参数更新时
export default{
beforeRouterUpdata:((to,from,next)=>{
// to:既将要前往的路由对象
//from:即将要离开的路由对象
})
}
7.beforeRouterUpleave动态路由参数更新时
export default{
beforeRouterUpleave:((to,from,next)=>{
// to:既将要前往的路由对象
//from:即将要离开的路由对象
})
}