解决动态路由刷新浏览器出现空白页面(亲测有用)

原因:在刷新浏览器的时候,页面发生跳转但是动态路由的数据还没有添加上

解决思路:刷新后先加载动态路由,在进行路由跳转

1.新建文件夹封装一个添加路由的函数

export const getadd=()=>{
    let user=getuserinfo()//获取存储到本地的用户信息
    if (user) {//判断是否有用户信息,如果有就执行,没有就不执行
        let allrouters=filterrouters(asyncrouter,user.luyuo)//获取用户可以访问的路由数组,页就是动态路由
        let alllist=[...allrouters,...notdata]//将动态路由和404等路由和在一起
        
        alllist.forEach((ite:any)=>{//循环添加动态路由
            router.addRoute(ite)
        })
    console.log('刷新触发',alllist,router.getRoutes());//打印看是否添加成功
        
    }
    
}

2.改变main.ts

const foot= async()=>{//引入封装的函数,使用异步先加载动态路由,最后进行挂载
 await  getadd()
 app.use(createPinia())
 app.use(ElementPlus)
 app.use(router)
 app.mount('#app')
}
foot()//调用执行方法

最后:欢迎各位大佬评论,指出错误

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值