老师您好,帮看一下这个问题
来源:3-9 Setup函数的职责以及注册功能的实现(2)
要每天学习的小蓝同学
2021-12-11 13:11:35
一开始测试注册完自动跳到Home页面,然后我检查了一下视频,发现注册这里跟登录有点不一样,注册这里不需要验证localStore.isLogin,就能跳转Login页面,加上反而直接到Home页面。这是为什么呢? 我看了一下路由逻辑
相关代码:
router.beforeEach((to, from, next) => { // 从本地存储取得isLogin的状态false或者true const isLogin = localStorage.isLogin // 如果你没有登录就跳到Login或者不在register页面 if (!isLogin && (to.name !== 'Login' && to.name !== 'Register')) { // 如果你还没登录帮你跳转到登录页面Login next({ name: 'Login' }) } else { // 调用next,逻辑才会往下执行 next() } })
有点懵了,逻辑应该跟路由这里冲突了。
1回答
同学你好,是和router中的逻辑冲突了。
点击注册,后面进入Login页面,但是在router/index.js路由处判断了
如果isLogin的值为true,那么会直接跳转到Home页面。所以在注册页面不需要加localStorage.isLogin = true这一句话。
而在登录页面点击登录按钮,localStorage.isLogin = true,然后会跳转到Home页面,这是正常逻辑,也就是这里判断的
祝学习愉快!
相似问题