最近因为next()遇到了不少问题,在这里记录一下
首先是路由守卫,是不是感觉简简单单
beforeEach((to, from, next) => {
to // 要去的路由
from // 当前路由
next() // 放行的意思
}
但是在看别的项目时常常能看到next('/logon') 、 next(to) 或者 next({ ...to, replace: true }) 这又是啥意思呢
其实在路由守卫中,只有next()是放行,其他的诸如:next('/logon') 、 next(to) 或者 next({ ...to, replace: true })都不是放行,而是:中断当前导航,执行新的导航
可以这么理解:
next() 是放行,但是如果next()里有参数的话,next()就像被重载一样,就有了不同的功能。
而对于上面说的中断当前导航,执行新的导航打个比方:
现在我有一个守卫,在守卫中我使用