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!!!