当 标签的 href 属性遇到 router.push 点击事件
今天在新增用户注册功能时,点击去注册按钮,发现页面刷新后,马上又回到了登录页面,并没有跳转到注册页面。反复排查了几个小时,最后发现问题在于 <a>
标签的 href
属性和 router.push
点击事件同时生效,导致页面刷新,没有正常跳转。
问题原因
具体代码详见 GitHub,出问题的在源文件的第 50 行:
1 | <!-- 跳转按钮 --> |
今天在新增用户注册功能时,点击去注册按钮,发现页面刷新后,马上又回到了登录页面,并没有跳转到注册页面。反复排查了几个小时,最后发现问题在于 <a>
标签的 href
属性和 router.push
点击事件同时生效,导致页面刷新,没有正常跳转。
具体代码详见 GitHub,出问题的在源文件的第 50 行:
1 | <!-- 跳转按钮 --> |
那是周一凌晨 2 点,我正在疯狂地调试一个 bug,这个 bug 必须在 7 小时后的演示前解决。我实在想不通为什么会出现这个问题。但我明确知道的是:这个问题在之前的版本中并不存在。
这个项目由两个部分组成:一个运行着我用 C 语言编写的固件的设备,以及一个我用 Swift 语言编写的 iPadOS 应用程序。我相当确定这个 bug 存在于固件方面。
工作版本和有 bug 的版本之间有超过 100 次的提交,因此无法立即看出是什么更改导致了 bug。