问题描述
点击登录时,因为设置了消息弹出框提示,所以会弹出"登陆成功提示",刚开始以为是网速慢的问题,没有跳转,后来多次登录,发现总是这样,需要点击第二次才会正常跳转,且会再弹一次"登陆成功的消息框"
问题解决一
路由版本太高,重新安装 这个报错就没有了
cnpm install vue-router@3.1.3
问题解决二
查资料时还看到有个小伙伴说的看看是不是登录时,忘记写next,我就去查看我的这段代码,发现是有next()的,但是仔细核对,发现,next()的位置写错了,如下
router.beforeEach((to, from, next) => {
if (window.sessionStorage.getItem('tokenStr')) {
//如果有token,就初始化菜单
initMenu(router, store)
if (!window.sessionStorage.getItem('user')) {
return getRequest('/admin/info').then(res => {
//判断用户信息是否存在
if (res) {
//存储用户信息
window.sessionStorage.setItem('user', JSON.stringify(res));
next()
}
})
//我当时写在了if判断里,把第二个next()写在了这个位置
}
//正确位置
next()
}else{ }