需求: 当用户登录,或者已经登录状态下刷新和重进web端,除了普通的路由配置(login、UserInfo、home、404等),还需要用户的权限路由,需要根据用户信息拿到当前用户的权限路由,动态添加路由。
问题:

  • addRoutes()之后第一次访问被添加的路由会白屏,这是因为刚刚addRoutes()就立刻访问被添加的路由,然而此时addRoutes()没有执行结束,因而找不到刚刚被添加的路由导致白屏。因此需要从新访问一次路由才行
  • 解决:使用next({ ...to,replace: true})来确保addRoutes()时动态添加的路由已经被完全加载上去。
router.beforeEach( async (to, from, next) => {const token = sessionStorage.getItem('access_token')// 存在 token 说明已经登录if (token) {// 登录过就不能访问登录界面,需要中断这一次路由守卫,执行下一次路由守卫,并且下一次守卫的to是主页'if (to.path === '/login') {next({ path: '/' })}// 保存在store中路由不为空则放行 (如果执行了刷新操作,则 store 里的路由为空,此时需要重新添加路由)if (Routerobj已存在) {  //放行next()} else {//这里还需要保存Routerobj  防止重复进入这。await let Router =  getAsyncRouterobj()  //拿异步Routerobjrouter.addRoutes(Router)  //需要添加的路由// 如果 addRoutes 并未完成,路由守卫会一层一层的执行执行,直到 addRoutes 完成,找到对应的路由next({ ...to, replace: true })}} else {// 未登录时,注意 :在这里也许你的项目不只有 logon 不需要登录 ,register 等其他不需要登录的页面也需要处理if (to.path !== '/logon') {next({ path: '/logon' })} else {next()}}

Vue动态权限路由addRoutes执行初次白屏解决方法。相关推荐

  1. Vue动态权限路由addRoutes执行初次白屏解决方法

    需求: 当用户登录,或者已经登录状态下刷新和重进web端,除了普通的路由配置(login.UserInfo.home.404等),还需要用户的权限路由,需要根据用户信息拿到当前用户的权限路由,动态添加 ...

  2. 苹果ios9.2 html白屏,苹果游戏中心白屏怎么办 苹果游戏中心白屏解决方法【详解】...

    苹果游戏中心白屏怎么办?苹果game center无法链接服务器解决方法.近期有部分用户反映,苹果游戏中心出现了白屏情况,那么苹果游戏中心白屏怎么办?让小编给大家讲解一下苹果game center白屏 ...

  3. 工控液晶屏开机白屏怎么回事,开机白屏解决方法?

    工控液晶屏开机白屏怎么回事,开机白屏解决方法? LCD( Liquid Crystal Display),现在已经是随处可见的设备之一,工业上的使用量也随着科技而增多!现在,工业行业都已经开始使用工控 ...

  4. 前端IE或edge页面iframe显示白屏解决方法

    前端IE或edge页面iframe显示白屏解决方法 问题是这样的 :页面里面有iframe,谷歌可以正常显示,ie不行. 但是点击导航栏又可以显示(我做的是导航栏点击换页面): 晕,网上很多我都试过了 ...

  5. 怎么让电脑屏幕一直亮着_笔记本开机白屏怎么回事 笔记本开机白屏解决方法【详解】...

    开机白屏,或者使用电脑的人都明白这个"白屏"的意思,但是也有少些使用电脑的人对这个白屏的了解认识不够,笔记本开机白屏怎么回事?是屏的质量问题还是显卡损坏呢?经常拨动液晶屏和主板连接 ...

  6. 电脑白屏,笔记本电脑白屏是怎么回事 笔记本电脑白屏解决方法【详解】

    笔记本开机,电源指示灯显示正常,且能听得硬盘转的声音,但开机后液晶屏有白屏.暗屏.黑屏.花屏.缺色等问题现象时,我们首先要外接显示器判断问题是在主板部分还是在液晶屏部分. 笔记本电脑白屏是怎么回事 ? ...

  7. 【Android】安卓webview播放视频白屏解决方法

    问题描述 最近在使用webview播放视屏的时候遇到webview整个白屏的问题,因为之前是好的而且在其他高版本的安卓设备中是正常的,检查了代码发现没有相关的改动,所以觉得很奇怪. 查了一些资料发现都 ...

  8. 计算机开机白屏怎么处理,电脑开机白屏是怎么回事 电脑开机白屏解决方法【图文】...

    相信大家在使用电脑的时候会遇到显示器白屏的情况,那电脑白屏是什么呢?电脑白屏就是在液晶显示屏开机之后在屏幕上显示全白的故障,一般显示屏出故障变成黑屏或者蓝屏的比较多,变成白屏主要是出现在长时间使用电脑 ...

  9. 3dmax出现白屏解决方法

    3DMax 卡死.白屏.渲染死机问题总结_Deveuper的博客-CSDN博客_3dmax一渲染完就卡死 修改设置:

最新文章

  1. Python3通过汉字输出拼音
  2. MySQL索引使用方法和性能优化
  3. docker之数据卷管理
  4. UNITY 画布的粗浅理解
  5. 04 | 负载均衡:Ribbon 如何保证微服务的高可用
  6. 2019年暑假慈溪集训(更新ing)
  7. extjs 前端js代码调用后台函数方法
  8. 搭建一个jumpserver跳板机
  9. linux:你不知道的echo
  10. 心理正常与异常的区分_医学心理学:如何区分正常心理和异常心理?
  11. Hadoop namenode无法启动问题解决
  12. 餐饮业进销存软件哪个好用?推荐这十款
  13. 第45章 DCMI—OV2640摄像头—零死角玩转STM32-F429系列
  14. 20金融学431考研应该注意些什么
  15. mac日历与iphone日历不无法同步问题
  16. 企业采用云计算的战略路线图
  17. Xiuno 简约白色主题
  18. storm如何部署拓扑
  19. 为BlueLake主题增加自定义icon图标
  20. PAT甲级1009 Product of Polynomials (25分)

热门文章

  1. 使用Word2010直接编辑、发布博客→博客园cnblogs
  2. Android Bitmap Drawable 常用摘要
  3. ie6-7下的li内有浮动元素后导致多出了4px的高度的bug
  4. CCPC2020太原理工获得一枚奖牌
  5. UVA495 Fibonacci Freeze【大数+万进制】
  6. 概率论与数理统计(一)—— 联合概率、条件概率与边缘概率
  7. Spark MLlib 编程
  8. 机器学习基础(四十八)—— 概率
  9. [面试] 算法 —— 数组(有序二维数组的查找)
  10. 程序结构程序设计(四)