Vue【有与无】【F3】【问题】vue 2.x 动态路由刷新后空白

  1. 先确认在route.js 或者 main.js 中有没有使用路由守卫vue.beforeEach和vue.addRouter() 促使页面每次刷新,重新根据后台返回数据生成动态路由。
// 避免路由守卫进入死循环
let onceRun = true; 
router.beforeEach((to,from,next)=>{
  if(onceRun){
    onceRun = false;
    createNewRouter();
    // 确保动态路由创建成功后,再去执行其它代码逻辑;在默认的hash模式下,动态路由可能还没创建完成,就跑其它代码
    next({...to, replace: true}) 
  } else {
    // TODO 这里可以写权限校验的路由跳转校验操作
  }
})
  
function createNewRouter(){
  // vue.addRouters() 已经过时,不要使用;替代方案用vue.addRouter()
  // 创建动态路由
  // 尽量不要使用用缓存,sessionstorage/localstorage
};
  1. 如果刷新之后成功了,但回退发生了问题 请把路由模式切换成 history,vue-route 默认使用hash模式。也就是地址上出现眨眼的 /#/ 当然 history模式本体跑没问题。

你可能感兴趣的:(前端,vue.js,javascript,前端)