abortNavigation
中止当前页面导航
abortNavigation() 用于创建中止当前导航的结果,通常在路由中间件中通过 return 返回。
声明
abortNavigation(reason?: unknown): NavigationResult
参数
reason
默认阻止:
return abortNavigation();
也可以传入中止原因:
return abortNavigation(new Error("没有访问权限"));
中止原因会传递给导航调用的
fail 和 complete 回调。示例
export default defineRouteMiddleware((to) => {
if (to.path === "/pages/forbidden/index") {
return abortNavigation(new Error("没有访问权限"));
}
});
与 goTo 的区别
abortNavigation():阻止进入目标页面,并停留在当前页面;goTo():将用户带到登录页、首页或其他页面。