这回真了解了路由守卫中的next()了

173 阅读1分钟

beforeEach接收三个参数:

  • to: Route: 即将要进入的目标路由对象

  • from: Route: 当前导航正要离开的路由

  • next: Function: 一定要调用该方法来 resolve 这个钩子。

next()接收一个参数,执行效果依赖 next 方法的调用参数:

  • next() 不传, 默认继续
  • next(false) 中断当前导航,不会后续的跳转
  • next('/xx')next({path: 'xx'}) 跳转到一个不同的地址,默认是通过push的方式跳转,也可以设置replace: true改变跳转
  • next(error) next 的参数是一个 Error 实例,则导航会被终止且该错误会被传递给 router.onError() 注册过的回调

最后:调用next()并不会终止beforeEach!!!