error
代码如下:
router.beforeEach((to, from, next) => {
if (to.path === "/world_rank") {
window.open('https://www.baidu.com/', '_blank');
next(false);
} else {
/* 必须调用 `next` */
next();
}
})
其他方式,比如route.js
下补充代码,试了,无效果。
查了下[官网]:
next
如果全是通过route
进行导航的,那么一定要调用next
,进行后续的导航状态操作,比如 对$route
的监听等。
上述代码中用next(false)
是为了中断当前的导航,不需要进行后续操作。
那么,把 next(false)
注掉是不是就可以了呢?
果然,注释掉了不报错了。因为是跳转到外网,并不需要路由操作。
总结
router
中如果有地址是跳转到外网,不需要路由进行后续操作的,不需要加 next
方法。