出现刷新白屏的问题原因很好理解,就是由于加载了动态路由,刷新后动态路由消失,所以就出现了白屏问题,解决方式是判断在刷新的时候重新添加动态路由就行了。(参考大神的经验,最终解决了我的问题,感谢...)
//permission.jsif (!store.state.menuManage.ifChange) {const hebing = trueawait store.dispatch('getTbMenuQueryData', hebing)next({ ...to, replace: true })} else {next()}
//menuManage.jsgetTbMenuQueryData({ commit, state }, hebing) {return new Promise((resolve, reject) => {let webMenu = JSON.parse(getSession('webMenu'))if (webMenu) {try {if (!state.asyncRoute.length && hebing) {commit('SETROUTES', filterAsyncRouter(webMenu))}} catch (error) {console.log(error)}resolve(webMenu)} else {...}})},SETROUTES: (state, d) => {...router.matcher = new VueRouter({routes: resultAllroute,}).matcherstate.ifChange = true},