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); } })