路由独享路由守卫、组件路由守卫

阿里云教程3个月前发布
17 0 0

路由独享路由守卫

index.js

  • 只对某个路由进行权限限制,可以在路由规则里面单独配置权限,使用beforeEnter函数

{
   path: /about ,
   meta:{
    flag:false,
    title: 关于 
   },

   // 独立的路由权限,如果只对一个路由需要设定,写在这里就好
// 第二个参数是from,用下划线来占位,如果不用该参数,会报错,用下划线占位就可以不报错了,
//其它函数的参数也可以用下划线占位
   beforeEnter:(to,_,next) => {
    if(to.meta.flag === true)( 
      next()
    )
  },
   component:About
  },


组件路由守卫

组件文件写路由权限

  • beforeRouteEnter
    这个函数是通过路由规则(必须是通过路由规则,作为普通组件不会触发该函数)进入组件时触发的(已经在这个路由组件里面了才触发),beforeEach这个是没进入路由规则前触发的(还没在这个路由组件里面)
  • beforeRouteLeave
    这个函数是离开该路由组件时触发的(还在这个路由组件里面),afterEach这个是没进入路由组件前触发的,在beforeEach之后立马调用
    beforeEach >>> afterEach >>> beforeRouteEnter >>>beforeRouteLeave(如果不离开这个路由组件,这辈子都不会被调用beforeRouteLeave),这个他们的调用顺序

 mounted(){
    console.log("TongZhiVue被调用")
  },
  beforeRouteEnter(to, _, next){
    console.log(this)
    console.log(to, beforeRouteEnter )
    next()
  },
  beforeRouteLeave(to, _, next){
    console.log(this)
    console.log(to, beforeRouteLeave )
    next()
  }

路由独享路由守卫、组件路由守卫

必须由路由规则的方式进入组件,如果作为普通组件,这两个函数不触发

© 版权声明

相关文章

暂无评论

none
暂无评论...