老师您好,帮看一下这个问题

来源:3-9 Setup函数的职责以及注册功能的实现(2)

要每天学习的小蓝同学

2021-12-11 13:11:35

https://img.mukewang.com/climg/61b431aa097f9ad811770946.jpg

一开始测试注册完自动跳到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回答

好帮手慕星星

2021-12-11

同学你好,是和router中的逻辑冲突了。

点击注册,后面进入Login页面,但是在router/index.js路由处判断了

https://img.mukewang.com/climg/61b4659b09f010d411970467.jpg

如果isLogin的值为true,那么会直接跳转到Home页面。所以在注册页面不需要加localStorage.isLogin = true这一句话。

而在登录页面点击登录按钮,localStorage.isLogin = true,然后会跳转到Home页面,这是正常逻辑,也就是这里判断的

https://img.mukewang.com/climg/61b4663a09a8f46d13980276.jpg

祝学习愉快!

0

0 学习 · 15276 问题

查看课程