Vue的路由守卫前置和后置

Posted cuter、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue的路由守卫前置和后置相关的知识,希望对你有一定的参考价值。

路由配置

const router = new VueRouter(
  mode: 'history',
  routes: [
    
      path: '/',
      redirect: '/blog/welcome'
    ,
    
      path: '*',
      name: 'NotFound',
      component: NotFound,
      meta:  isAuth: false, title: '页面找不到' 
    ,
    
      path: '/blog',
      component: BlogFrame,
      redirect: '/welcome',
      children: [
        
          path: 'login',
          component: Login,
          meta:  isAuth: false, title: '登录博客' 
        ,
         path: 'welcome', component: Welcome, meta:  isAuth: false  ,
        
          path: 'authorupdate',
          component: AuthorUpdate,
          meta:  isAuth: true 
        ,
         path: 'search', component: Search, meta:  isAuth: false  ,
        
          path: 'detail',
          component: ArticleDetail,
          meta:  isAuth: false, title: '文章详情' 
        ,
        
          path: 'authorarticle',
          component: AuthorArticle,
          meta:  isAuth: true, title: '我的文章' 
        ,
        
          path: 'editarticle',
          component: EditArticle,
          meta:  isAuth: true, title: '博客编辑' 
        
      ]
    ,
)

前置路由守卫:用于拦截权限页面

// 路由守卫
router.beforeEach((to, from, next) => 
  if (to.meta.isAuth == false) 
    next()
   else 
    if (window.sessionStorage.getItem('token') === null) 
      next('/blog/login')
     else 
      next()
    
  
)

后置路由守卫,少了next,负责添加页签title

router.afterEach((to, next) => 
  if (to.meta.title) 
    document.title = to.meta.title
   else 
    document.title = '悦读堂'
  
)
export default router

以上是关于Vue的路由守卫前置和后置的主要内容,如果未能解决你的问题,请参考以下文章

vue路由导航守卫及前置后置钩子函数参数详解

vue-router导航守卫的简单使用

Vue 导航守卫

vue-router 中的导航钩子

Vue 学习总结笔记

vue-router路由导航守卫