美文网首页
Vue 路由拦截

Vue 路由拦截

作者: 烫嘴豆腐 | 来源:发表于2018-02-17 21:26 被阅读105次

路由拦截应用场景

图片.png
图片.png

如图所示,当我们进入一个webapp时,点到我的,表示进入个人中心,但是此时用户是首次使用的话,他是没有登录,这时候是不能直接跳转到个人中心页面的。我们希望他去登录页面登录以后在进行操作,这时就需要用到路由拦截。vue文档中称为导航守卫

具体使用

首先在路由定义时加入requireAuth:true

{
    path: '/systemNews',
    component: SystemNews,
    meta: {
      title:'系统消息',
      requireAuth: true //加在这里
    }
  }

配置好路由之后,使用vue导航守卫

router.beforeEach((to, from, next) => {
  if (to.matched.some(record => record.meta.requireAuth)) {
      //if (store.state.token) {
      //  next();
      //}
      if (isLogin) {
          next();
      }else {
          next({
              path: '/login',
              query: {redirect: to.fullPath}
          })
      }
  }else {
      next();
  }
})
to.matched.some(record => record.meta.requireAuth) 
这个表示如果你在定义路由的时候requireAuth为ture则进行路由拦截

代码很简单,能直白的看出功能,isLogin表示用户是否登录,如果登录通过验证,就next()继续路由跳转,如果没有通过验证就跳转到登录页面,并且附加上要跳转的地址query: {redirect: to.fullPath},以便登录后能自动会跳到原本要跳转的路由,也算小小的用户体验。当然你如果喜欢可用vuex来验证也行。

相关文章

  • vue+axios 实现登录拦截权限验证

    vue+axios 前端实现登录拦截(路由拦截、http拦截) 一、路由拦截 登录拦截逻辑 第一步:路由拦截 首先...

  • vue+axios 实现登录拦截权限验证

    vue+axios 前端实现登录拦截(路由拦截、http拦截) 一、路由拦截 登录拦截逻辑第一步:路由拦截首先在定...

  • vue接口拦截

    接口拦截 路由拦截 接口拦截应该指的是 http 请求拦截路由拦截是 vue 这种框架里的拦截登录拦截是一个需求,...

  • 关于vue实现路由拦截登陆判断跳转对应的页面

    关于vue实现路由拦截登陆判断跳转对应的页面

  • Vue 路由拦截

    路由拦截应用场景 如图所示,当我们进入一个webapp时,点到我的,表示进入个人中心,但是此时用户是首次使用的话,...

  • 通过JS拦截 pushState 和 replaceState

    写在前面前几天遇到一个需求,原生js拦截vue项目中的路由变更。目的是单项目应用中,拦截路由变更,发送用户路由变更...

  • Vue-在vue中如何使用vue-router

    vue-router作为vue的生态系统一员,帮我们解决了项目中路由的相关问题,包括路由切换,路由拦截等问题。此文...

  • Vue 路由拦截、http拦截

    一、路由拦截 登录拦截逻辑 第一步:路由拦截 首先在定义路由的时候就需要多添加一个自定义字段requireAuth...

  • Vue2.0一个login跳转实例

    需要解决的问题:store存储登录状态Vue-Router导航钩子拦截路由Vue-Resource获取后台的数据需...

  • Vue,Axios,iview实战管理系统

    项目实现登陆验证,iviewui组件使用,vue-router路由拦截,在删除登陆存储的token后,直接路由进登...

网友评论

      本文标题:Vue 路由拦截

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