vue 中 router.afterEach用法,和router.beforeEach用法

发布于 2023-11-20 16:17:45

router.afterEach是vue全局的导航钩子函数,我个人的理解是,进入某个路由之后触发的钩子函数,我用的比较多的有两种用法

1,修改 每个页面的title ,

首先在路由元中meta添加一个title属性,然后 用 document.title=to.meta.title修改当前也买你的title

2,每次切换页面的时候,让页面滚动到最顶部

router.afterEach((to,from,nex)=>{
 document.title = to.title
 window.scrollTo(0,0)
})


router.beforeEach是路由的全局导航守卫

实现步骤

1,获取token

2,判断token否存在以及要进入的页面,如果token存在或者要进入的页面是登陆页,放行

如果 没有token并且进入的页面不是登陆页,那么提示用户登陆失效,next({pat

router.beforeEach((to,from,next)=>{
    let token = localstorage.getItem('token')
    if(to.path=='/login' || token){
        next()
    }else{
    vm.toast('登录过期,请重新登陆')
    setTimeout(() => {
        next({
            path:'/login'
        })
    }, 500);
    }
})



关注公众号,了解更多it技术(it问答网

0 条评论

发布
问题