美文网首页
路由守卫(全局守卫、独享守卫、组件内守卫)

路由守卫(全局守卫、独享守卫、组件内守卫)

作者: 冰点雨 | 来源:发表于2022-06-09 09:01 被阅读0次

    1.作用:对路由器进行权限控制
    2.分类:全局守卫、独享守卫、组件内守卫

    全局守卫

    // 全局前置守卫,初始化时执行,每次路由切换前执行
    router.beforeEach((to,from,next)=>{
      if(to.meta.isAuth){//判断当前路由是否需要进行权限控制
          if(localStorage.getItem('school') == "aiguigu"){
            next()//执行
          }else{
            alert('暂无权限查看')
          }
      }else{
        next()
      }
    })
    
    // 全局后置守卫,初始化时执行,每次路由切换后执行
    router.afterEach((to,from,next)=>{
      if(to.meta.title){
          document.title = to.meta.title //修改网页的title
      }else{
        document.title = "vue_test"
      }
    })
    

    独享守卫

     beforeEnter:(to,from,next)=>{
                if(to.meta.isAuth){//判断当前路由是否需要进行权限控制
                  if(localStorage.getItem('school') == "aiguigu"){
                    next()//执行
                  }else{
                    alert('暂无权限查看')
                  }
                }else{
                  next()
                }
              }
    

    组件内守卫

    //进入守卫,通过路由规则,进入该组件时被调用
      beforeRouterEnter(to,from,next){
        if(to.meta.isAuth){//判断当前路由是否需要进行权限控制
          if(localStorage.getItem('school') == "aiguigu"){
            next()//执行
          }else{
            alert('暂无权限查看')
          }
        }else{
          next()
        }
      },
       //离开守卫,通过路由规则,离开该组件时被调用
      beforeRouterLeave(to,from,next){
    
      },
    

    相关文章

      网友评论

          本文标题:路由守卫(全局守卫、独享守卫、组件内守卫)

          本文链接:https://www.haomeiwen.com/subject/dwqpdrtx.html