思路: 刷新后都重定向到首页
router.js文件
import Vue from "vue"
import Router from "vue-router"
Vue.use(Router);
let router = new Router({
mode: 'history',
routes: [
{
path: '/',
redirect: '/index'
},
{
path: '/index',
name: 'index',
component: resolve => require(["@/apps/apps/index/index"], resolve),
children: [
{ path: '/default', name: 'default', component: resolve => require(['@/apps/default'], resolve), meta: { keep: false, fresh: false } },
]
},
{
path: '/login',
name: 'login',
component: resolve => require(["@/users/login"], resolve),
meta: {
keep: false,
fresh: false
}
}
]
})
let isfirst = true
router.beforeEach((to, from, next) => {
console.log('%c router.beforeEach', 'color:green;font-size:16px',isfirst,to);
if (isfirst) {
// router.addRoute('index', new_router) //可以在index.vue中增加新路由
isfirst = false;
next({path:'/default'});
} else {
next()
}
})
export default router
刷新后到达 default页, 不白屏
如果一定要到达刷新前的页面, 那么把to作为参数传给default,由default跳转应该可以实现