1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 动态路由下刷新 页面空白

动态路由下刷新 页面空白

时间:2022-05-19 20:21:48

相关推荐

动态路由下刷新 页面空白

前言

最近设计动态路由时,刷新页面空白。突然想起以前笔记里面记录过,翻看了下,今天得空儿分享出来。

问题描述

在全局前置守卫router.beforeEach里面加入动态路由设计时,刷新动态页面,明明router已经生成了,结果还是空白,打印后发现to对象里面除了path其余属性皆为空值(如下图)。

原因

在刷新后动态路由需要重新获取,而to对象是在动态路由生成之前产生,所以获取不到真正路由信息。

解决方案

方案一

正常的next()加个matched长度判断,matched是当前路由的所有嵌套路径片段的路由记录。

...省略正常判断路由是否存在...if (to.matched.length ===0) next({path: to.path})else next()

方案二

if(!token){...省略生成动态路由...router.addRoutes(menuRouters);if (to.path) {next({path: to.path });} else {next();}} else {console.log("动态菜单和路由已存在");next();}

方法很多,注意不要陷入死循环即可,以上提供两种供大家参考!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。