请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Bug:login page keep loading

login的时候loader一直旋转

版本:
vue:3.2.38
vue-router:4.1.5
vuex:4.0.2

邮箱地址:123@test.com
密码:123123123

参考了老师的代码:
图片描述

截图:
图片描述

正在回答 回答被采纳积分+3

1回答

张轩 2022-09-08 10:12:22

同学你好

恭喜你找到了一个 vue 的内部的 bug~

假如将vue 的版本回退到 3.2.31 就会发现一切正常。

npm install vue@3.2.31

你的版本是 38,我看了代码,怀疑是两次连续的 commit,会让一次不起作用

// 原因在这里
store.commit('setError', { status: true, message: error })
store.commit('setLoading', false)
// 不清楚机制,有可能是 error 那里的 watch 阻断了更新,虽然 state 数据已经更新,但是界面没有更新

// 假如你还想使用这个版本,我们可以简单修改一下
// 使用 nextTick 包裹以后,会在上一次执行完毕,再执行下一次
// 就正常了
import { createApp, nextTick } from "vue"
nextTick(() => {
    store.commit('setLoading', false)
})

亲测有效。

未来这个 bug 应该会被修复掉,使用未来的新版本应该就没有这个问题了

2 回复 有任何疑惑可以回复我~
  • 老师我也出现这问题了,而且使用 nextTick 包裹以后仍不奏效。请问怎么排查?
    回复 有任何疑惑可以回复我~ 2023-06-09 01:12:43
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号