Vue Router beforeEach 中 next() 方法地址不跳转但部分渲染?

在做登录功能的时候遇到的问题,router.beforeEach中next()方法地址不跳转但部分渲染

具体表现为:
使用next({path: /xxx})时,页面地址不跳转,但界面是跳转到了xxx,数据没有渲染。从网络请求看,没有请求/xxx的页面数据,但xxx中的图片和写好的方法都请求了,

router.beforeEach((to, from, next) => {
    let query = new URLSearchParams(window.location.search);
    let code = query.get('code');
    let state = query.get('state')
    axios.post(encodeURI(`${baseUrl}/api/auth/login?code=` + code)).then(res => {
                Cookies.set('token', res.data.data.token)
                localStorage.setItem('expiration', res.data.data.expiration)
                localStorage.setItem('user', res.data.data.username)
            }).catch(err => {console.log(err)})
    next({path: state})
}

地址还停留在上一页,但页面已经进入了state这个页面,数据不渲染

尝试过多种next()写法,包括更改to.path再next(),但是to.path是只读的因此不可行,也把next写到axios的回调中,也不可行

阅读 437
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏