26router.beforeEach路由拦截

Posted xlfdqf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了26router.beforeEach路由拦截相关的知识,希望对你有一定的参考价值。

为了防止用户未登录直接修改路径来访问页面,解决办法:

在main.js文件中加入以下代码:

// 路由拦截
router.beforeEach((to, from, next) => 
  if (to.meta.requireAuth)  //判断该路由是否需要登录
    store.state.Token = localStorage.getItem(‘Token‘);
    if (store.state.Token)  //vuex获取当前token是否存在
      next();
     else 
      Message(
        showClose: true,
        message: ‘请先登录!‘,
        type: "warning"
      );
      next(
        path: ‘/login‘,
        query:  redirect: to.fullPath  //将跳转的路由path作为参数,登录成功后跳转该路由
      )
    
   else  //无需登录直接跳转页面
    next();
  
)

在需要拦截的路由中添加:

技术图片

以上是关于26router.beforeEach路由拦截的主要内容,如果未能解决你的问题,请参考以下文章

路由拦截

Vue路由拦截

vue项目常见之五:路由拦截器(permission),导航守卫

vue 路由拦截器和请求拦截器

Vue-Router导航守卫

检查 vue-router.beforeEach 不限制对路由的访问