异步路由/动态路由配置后,页面刷新出现空白页或404的解决办法

出现的原因:

        按照   登录-》路由调转  进行时,我们在登录时会调用接口,获取动态路由信息,此时是有路由信息的,可以正常跳转。 

       但是,当我们刷新时,会删除动态路由信息,关于addRoute,官网中有这样一句话:‘请注意,添加路由并不会触发新的导航。也就是说,除非触发新的导航,否则不会显示所添加的路由’,所以此时再进行跳转,当然会出现空白页或404的情况。

解决办法:

在配置路由守卫时,获取路由信息并添加路由(addRoute)后,使用 router.push() 或 router.replace() 重新加载路由,如图所示:

注:router.push() 与 router.replace() 的区别:

router.push() 会新增history,跳转后可以后退,而 router.replace() 相当于替换history。

举个例子:

如果把history看做一个数组的话,让其都有一个相同的  history:[1,2,3]

使用router.push(): history:[1, 2, 3, 4]

router.replace(): history:[1, 2, 4]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值