美文网首页
导航守卫

导航守卫

作者: 未来在奋斗 | 来源:发表于2019-11-29 17:42 被阅读0次
 {   //动态添加路由路径
        path:'/user/:userId',
        component:User,
        meta:{//元数据
            title:'用户'
        },
    },{
        path:'/profile',
        component:Profile,
        meta:{//元数据
            title:'档案'
        },
    }]
const router = new VueRouter({
    //配置路由和组件之间的应用关系
    routes,
    mode:'history',
    linkActiveClass:'laowang'
})
//前置沟子//也叫前置回调
router.beforeEach((to,from,next)=>{
    //从from跳转到to
    document.title=to.matched[0].meta.title;
    next()
})
//后置沟子不用再调用next,再跳转完之后执行
router.afterEach((to,from)=>{

})

全局守卫

    1. 全局前置  beforeEach
    2. 全局解析  beforeResolve
    3. 全局后置  afterEach
    全局守卫
    router.beforeEach((to,from,next)=>{
        console.log('全局 前置')
        next()
    })
     router.beforeResolve((to,from,next)=>{
        console.log('全局 解析')
          next()
    })
     router.afterEach((to,from)=>{
        console.log('全局 后置')//没有next
    })

路由独享

    1. beforeEenter
    写在路由实例中
    beforeEenter((to,from,next)=>{
        console.log('全局 解析')
          next()
    })

组件内的守卫

 1. beforeRouterEnter 进入组件
    2. beforeRouterUpdate 动态路由
    3. beforeRouterLeave 离开
    //写在组件的export中
    beforeRouterEnter((to,from,next)=>{
        console.log('全局 解析')
          next()
    })
     beforeRouterUpdate((to,from,next)=>{
        console.log('全局 解析')
          next()
    })
    //离开
     beforeRouterLeave((to,from,next)=>{
        console.log('全局 解析')
          next()
    })
  1. to 要去的路由信息对象
  2. from 从哪里来的路由信息对象
  3. next 是否放行
1. next() 放行接下来执行
2. next(false) 不放行
3. next('/xxx') next({path:'/xxx'}) 重定向到某个路由上
4. next(error) 抛出异常

/a -> /center顺序

1. 全局前置  beforeEach
  1. 路由独享 beforeEenter
  2. center组件上定义的组件内守卫 beforeRouterEnter
  3. 全局解析 beforeResolve
  4. 全局后置 afterEach

/center -> /a顺序

1.beforeRouterLeave 离开 组件守卫

  1. 全局前置 beforeEach
  2. 全局解析 beforeResolve
  3. 全局后置 afterEach
  • 组件内的 beforeRouteUpdate 这个在什么时候触发呢 动态路由的时候
  • /film/123 -> /film/456

进度条和旋转

    $ npm install -- save nprogress

    1 NProgress.start();加载进度条 写在 全局前置中
    2. NPogress.done();加载接受    写在全局后置中

    使用
    在路由文件中引入 import NProgress from 'nprogress'
    import'nprogress/nprogress.css'

相关文章

  • vue学习笔记(八)导航守卫(全局守卫,路由独享,组件内守卫)

    导航守卫-全局守卫 导航守卫-路由独享 导航守卫-组件内守卫

  • vue-路由导航守卫&异步组件

    导航守卫包括全局导航守卫、路由守卫、组件局部守卫 全局导航守卫 在全局导航守卫中,每次路由的跳转他们三个都会被触发...

  • vue导航守卫

    根据作用域的不同,vue导航守卫分三种:全局导航守卫、组件内部导航守卫、路由独享守卫 全局导航守卫,在main.j...

  • vue导航守卫

    导航守卫:vue-router主要提供跳转或取消的方式守卫导航, 导航守卫分为全局前置守卫、全局解析守卫、全局后置...

  • vue-router进阶

    导航守卫 vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航(路由发生改变才会守卫)。参数 ...

  • vue-router 路由导航守卫

    导航守卫是用取消或者通过的方式来守卫导航,导航守卫有全局的 页面级的组件级的 导航些带的参数发生变化的时候导航守卫...

  • vue-router 进阶

    导航守卫 导航守卫主要用来通过跳转或取消的方式守卫导航。 参数或查询的改变并不会触发进入/离开的导航守卫。 1、全...

  • 导航守卫

    vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航 全局守卫 全局前置守卫 当一个导航触发时...

  • Router界面切换(四)导航守卫(导航控制)

    前言 导航守卫主要用来通过跳转或取消的方式守卫导航。 使用router进行界面切换,我们可以通过守卫导航正在切换的...

  • vue-router导航守卫&&滚动&&路由懒加载

    导航守卫 正如其名,vue-router提供的导航守卫主要用来通过跳转或取消的方式守卫,有多种机会植入路由导航过程...

网友评论

      本文标题:导航守卫

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