Vue第一周学习遇到的bug以及解决方法

bug1:页面跳转失败,一直显示根目录

情况说明:点击按钮后,页面一直不跳转,或者是跳一下又回到根目录。
解决方法:在绑定事件是用@click.prevent从而阻止默认事件的默认行为发生。

bug2:设置登录状态,状态值一直显示true

情况说明:要求打开网页时,如果登录状态为true则直接跳转到主页面,否则跳转到登录页面。进入主页面后,点击退出登陆状态为false。在注册好全局守卫后,发现状态值一直是true。导致没有登录状态的用户也可以直接进入主页面。
在这里插入图片描述

但是在login.vue中状态值没有错,alert显示的是false而控制台输出的是true。于是开始查找原因,在每一步都设置console,一步步排查,发现路由设置逻辑没有问题,是数据的问题!!
在这里插入图片描述
后台输出:
在这里插入图片描述

解决方法:最终发现在注册时没有对状态值初始化,导致默认状态值是true。
于是在register.vue中初始化状态值为false。
在这里插入图片描述
紧接着问题又来了,由于路由内设置的是如果状态值是true,则next(’/Home‘),如果是false则next(’/login‘),在注册账号后的状态值是false,导致点击登录后不能进入主页并报错。
在这里插入图片描述
这时想到可以用全局守卫中的from.path,如果是从/login进入的,不用管登陆状态值,直接进入主页面,如果是从根目录进入的就判断一下登录状态,为true就跳转到/Home,为false就跳转到/login。(如图)
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值