2 回答

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
前段時(shí)間,我在一個(gè) Vue.JS 項(xiàng)目中創(chuàng)建了類(lèi)似的行為。這是我的代碼,也許它可以幫助您找到錯(cuò)誤。
// checks if user is authenticated before displaying the page
// if not, reroutes to the login page
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requiresAuth)) {
if (store.getters.isAuthenticated) {
next();
return;
}
next('/login');
} else {
next();
}
});
元字段定義是否需要身份驗(yàn)證。在下面的代碼片段中,您可以看到它是如何使用的。
const routes = [
{
path: '/',
component: DashboardLayout,
redirect: '/login',
children: [
{
path: 'dashboard',
name: 'Dashboard',
component: Dashboard,
meta: {
requiresAuth: true,
},
}
]
}
];
(希望括號(hào)是正確的)

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
在這一點(diǎn)上,我認(rèn)為沒(méi)有人有興趣回答我的問(wèn)題,所以我將只發(fā)布我所做的解決方法:
在應(yīng)用程序的 404 頁(yè)面中,注釋掉整個(gè)模板內(nèi)容(因此,如果用戶連接速度慢并被重定向到 404,他將看不到任何內(nèi)容)。我還在之前創(chuàng)建的生命周期掛鉤中添加了一個(gè)重定向:
beforeCreate() { this.$router.push({ name: "login" }); },
這樣,用戶會(huì)自動(dòng)重定向到登錄名而不會(huì)出現(xiàn)任何問(wèn)題。
添加回答
舉報(bào)