我是动态从后台获取菜单信息,处理之后进行动态加载路由,但是页面首次加载一片空白,刷新一次才可以,代码如下,各位大神帮忙看一下,是哪里的问题。
store.dispatch('GenerateRoutes').then((res) => { // 根据roles权限生成可访问的路由表
if(res.data){
console.log(store.getters.addRouters,'testrouter')
router.addRoutes(store.getters.addRouters) // 动态添加可访问路由表
setlocalExpirytime.setAge(1*60*1000).set('routertime')
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
}else{
iView.Modal.warning({
title: '提示',
content: res.info,
onOk(){
store.dispatch('LogOut').then((res) => {
location.reload();
console.log(res,'logout')
}).catch(err=>{
console.log(err,'logout')
});
}
});
}
}).catch((err)=>{
console.log(err,'routererr')
})
虽然过了很久了,但是还是回复一下,记录一下答案。在登录成功之后,需要用代码再次动态添加可访问的路由表即可解决。