路由守卫

全局路由守卫:在路由跳转前(beforeEach)、跳转(afterEach)后需要执行的代码。

比如需要在跳转后网页的title也跟着变化(不同页面有不同的title显示):
首先需要在配置路由时,给对象加上meta(元数据);

    {
      path: '/home',
      name: 'home',
      component: Home,
      children:[
        {
          path:'news',
          component:news
        },
        {
          path: 'message',
          component: message
        }
      ],
      meta:{
        title:'首页',
      }

用路由守卫,to将要转到的网页,from转之前的网页,最后的next()必须要有,不然不会执行跳转。

router.beforeEach((to, from, next) => {
  window.document.title = to.meta.title;
  next();
})

**后置守卫(afterEach):**和beforeEach不同的是afterEach不接收第三个参数 next 函数,也不会改变导航本身.

路由独享守卫: beforeEnter和全局守卫beforeEach参数一样。
组件内路由守卫:组件路由守卫是写在每个单独的vue文件里面的路由守卫。beforeRouteEnter ,在路由进入前(注意:组件实例还未渲染,无法用this获取实例);beforeRouteUpdate ,同一页面,刷新不同数据时响应;beforeRouteLeave ,离开当前路由页面时响应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值