1、代码如下
2、在chrome的控制台打印输出
3、对这个问题个人理解
- next() 表示路由成功进行,直接进入to的路由地址,不会再次调用router.beforeEach()了;
- next('/login') 表示路由拦截成功,重定向至/login,并且还会再次调用router.beforeEach();
- 其实我们可以看出来beforeEach()必须调用next(),否则就会出现无限循环,next() 和 next('xxx') 是不一样的,区别就是前者不会再次调用router.beforeEach()进行循环,但是后者依然会调用!