我正在尝试弄清楚为什么Vue.js路由在我刷新管理员页面后会重定向回主页组件,只显示一个空白页面,并在第二次刷新后再次显示主页组件。 我仍然登录,因为我仍然可以直接使用网址进入我的管理页面。 这意味着会话仍然活动。 有没有办法在按下F5时强制页面停留在管理员主页? 我尝试过像history模式等的东西,但是无法弄清楚。
这是我的router.js布局和我的主路由文件。
这是我的router.js布局和我的主路由文件。
import Vue from 'vue'
import Router from 'vue-router'
import firebase from "firebase/app";
import Home from './views/user/Home.vue'
import adminRoute from "./components/routes/admin-routes";
Vue.use(Router);
const router = new Router({
routes: [
{
path: '*',
redirect: '/',
},
{
path: '/',
name: 'home',
component: Home,
meta: {
requiresAuth: false,
}
},
...adminRoute
],
});
router.beforeEach((to, from, next) => {
if (to.matched.some(r => r.meta.requiresAuth === false)) {
next()
} else if (!firebase.auth().currentUser) {
next(false)
} else {
next()
}
});
export default router
我有自己的admin-routes.js文件
import AdminHome from "../../views/admin/AdminHome";
import Users from "../../views/admin/Users";
const adminRoute = [
{
path: '/admin-home',
name: 'AdminHome',
component: AdminHome,
meta: {
requiresAuth: true
},
},
{
path: '/users',
name: 'Users',
component: Users,
meta: {
requiresAuth: true,
}
}
];
export default adminRoute;
我想提一下,我的主页面位于views/user/Home.vue,而我的AdminHome页面位于views/admin/AdminHome.vue。