vue如何使用路由导航守卫

在router/index.js中定义路由导航守卫

// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
  // to 将要访问的路径
  // from 从哪个路径跳转来的
  // next 是一个函数,表示放行
  // 判断是否存在token,如果不存在强制跳转到login页面
  if (to.path === '/login') return next()
  // 获取token
  const tokenStr = window.sessionStorage.getItem('token')
  if (!tokenStr) return next('/login')
  // 存在就放行
  next()
})

退出按钮清除sessionStorage中的token值

logout () {
      // 清除sessionStorage中的token值
      window.sessionStorage.clear()
      // 返回到login
      this.$router.push('/login')
    }
  }

你可能感兴趣的:(vue)