Holla开发人员,我正在构建此一页的Web应用程序,现在正在研究路由器的守护程序,以便观看经过身份验证的用户等。我猜是正常的,因为我设置的指向非用户重定向到欢迎页面的全局属性确实可以正常工作,但是忽略了条件,这里是它的JS文件容器:
import store from '../store/index'
export default(to,from,next)=>{
if (store.getters.getUser){
next()
}else{
next('/welcome')
}
}
在那个条件中,它是指vuex中已经声明的getter,通过它可以暴露用户是否登录,因此,在相反情况下(用户未登录),访问者会自动重定向到欢迎页面。
在我的路由器文件中是以下内容:
const routes = [
{
path: '/',
name: 'home',
component: Home,
beforeEnter:routerGuard
},
{
path: '/results/:idItemSelected',
name: 'SearchResults',
component:SearchResults,
props:true,
},
{
path: '/welcome',
name: 'WelcomingPage',
component:WelcomingPage
},
{
path: '/signUp',
name: 'SignUpPage',
component:SignUpPage
},
{
path: '/signIn',
name: 'SignInPage',
component:SignInPage
}
]
const router = new VueRouter({
routes
})
export default router
我的逻辑提示我只能在home('/')页面中设置防护,因为从那里可以初始化应用程序中的所有元素,但是在登录时,我的用户转到应用程序中的任何其他组件,然后按-机会是我确实重新加载页面,再次将我扔到已经登录的欢迎页面任何建议
我想使用beforeEach:routerGuard,该问题得到修复。我会以任何方式赞赏其他有关此问题的想法,以备将来的项目使用。非常感谢