首页 > 其他分享 >路由注解

路由注解

时间:2022-12-24 14:57:54浏览次数:39  
标签:跳转 else path 注解 next 路由 页面

vue路由

// 默认没有菜单
var isMenu = false 
// 路由跳转前触发
router.beforeEach((to, from, next) => {
  // 加载进度条开始
  NProgress.start()
  // 去获取缓存中的用户信息
  const info = vueCookies.get('userInfo')
  // 如果存在
  if (info) {
    // 存在-判断是否去往登录页面
    if (to.path == '/login') {
      // 强行指向某一个页面
      next({ path: '/home' })
    } else {
      // 如果不是去登录页面,说明路由正常跳转,判断是否存在路由
      if (isMenu) {
        // 如果存在正常跳转
        next()
      } else {
        try {
          // 没有就去获取路由,这里可以通过接口动态获取
          const orterRouters = routers
          // 拿到路由给变量改为true,可将该变量放入vuex中
          isMenu = true
          // 拿到变量去创建路由表
          orterRouters.forEach((v) => {
            router.addRoute(v)
          })
          // 判断是否去往 路径 /
          if (to.path == '/') {
            // 重定向到 /home 具体依实际为准
            next({ path: '/home' })
          } else {
            // 否者说明正常点击调转
            next({
              ...to,
              replace: true,
            })
          }
          // throw new Error('无路由')
        } catch (error) {
          // 捕获到错误直接跳转登录页面
          next({
            path: '/login',
          })
        }
      }
    }
  } else {
    //如果是没有用户信息,去往登录页面
    if (to.path === '/login') {
      //运行
      next()
    } else {
      //没有用户信息,想跳转其他页面强行跳转登录
      next(`/login`)
    }
  }
})

标签:跳转,else,path,注解,next,路由,页面
From: https://www.cnblogs.com/newBugs/p/17002859.html

相关文章

  • spring mvc——SpringMVC常用注解——RequestParam注解——(当url中的形参与controlle
     使用@RequestParam注解获取。  当url中的形参与controller中的形参不一致时,使用此注解。使它们对应。         ......
  • springcloud gateway根据服务名称进行路由失败There was an unexpected error (type=S
    出现错误,如下图:解决办法:检查自己的yaml文件:server:port:88spring:application:name:applicationNamecloud:nacos:discovery:se......
  • mybatis拦截器 + 自定义注解
    背景:前两天写过一篇关于:mybatis拦截器+自定义注解+获取注解的属性的文章,感觉写得不是很好,有很多事情没有说明清楚包括:mybatis拦截器的@Signature注解的几个参数......
  • 注解
    ##注解:    *概念:说明程序的。给计算机看的。    *注释:用文字描述程序的。给程序员看的。    *定义:注解,也叫元数据,一种代码级别的说明。它是JDK1.5及以后版......
  • mybatis拦截器 + 自定义注解 + 获取注解的属性
    背景mybatis拦截器+自定义注解——这种方式可以为我们解决很多事情,带来很多便利,但有时候会在自定义注解上配置一些属性,并且拦截器上要拿到这些属性的值。这个时候,我们......
  • @JsonInclude @JsonFormat 注解
    1.使用@JsonInclude(JsonInclude.Include.NON_NULL)注解可以返回制定格式的json数据:如果属性返回值为空,则不返回任何内容,这是由于@JsonInclude(JsonInclude.Include.N......
  • 基于注解的 IOC 配置
    使用步骤1、导入依赖<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.2.RELEASE</ve......
  • Flask 动态路由转换器
      fromflaskimportFlaskapp=Flask(__name__)@app.route('/user/<name>')defshow_user(name):return'Mynameis%s'%[email protected]('/age/<i......
  • 如何在路由绑定中使用 IParsable
    IParsable是.Net7中新增的接口,它可以将字符串转换为对应的实体。在Controller的Route绑定中可以使用IParsable来绑定复杂的实体。实验背景假设有一个需要将ro......
  • 子应用中的urls路由
    fromdjango.conf.urlsimporturlfrombook.viewsimportindex,detail,set_cookie,get_cookie,set_session,get_sessionfrombook.viewsimportBookView,CenterVie......