在做登录功能的时候遇到的问题,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的回调中,也不可行