gpt4 book ai didi

javascript - 重定向到时找不到子路由,但其他情况下工作正常

转载 作者:行者123 更新时间:2023-12-02 13:58:35 25 4
gpt4 key购买 nike

我的子路由器/路由有问题。 (下面是缩写示例。)

app.ts

config.map([
{ route: "auth", name: "auth", moduleId: "auth" }
]);

auth/index.ts

config.map([
{ route: "", redirect: "login" },
{ route: "login", name: "login", moduleId: "./login", title: "Login" }
]);

身份验证-step.ts

run(navigationInstruction, next) {
if (navigationInstruction.getAllInstructions().some(i => i.config.auth)) {
if (!this.authContext.isAuthenticated())
return next.cancel(this.router.navigateToRoute('auth/login', { return: true }));
}

return next();
}

如果请求安全路由,我有一个AuthenticationStep,它将重定向到auth/login。这不起作用,例如,如果我尝试进入安全路线(例如 admin/something),我会收到以下错误。但是,如果我直接导​​航到 auth/login,登录页面会正确显示。

A route with name 'auth/login' could not be found.

最佳答案

添加一个空路由,并重定向到您的子路由器的配置:

{ route: '', redirect: 'login' }

然后,将您的调用更改为 navigateToRoute 以导航到 auth

run(navigationInstruction, next) {
if (navigationInstruction.getAllInstructions().some(i => i.config.auth)) {
if (!this.authContext.isAuthenticated())
return next.cancel(this.router.navigateToRoute('auth', { return: true }));
}

return next();
}

关于javascript - 重定向到时找不到子路由,但其他情况下工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40540378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com