0
我遇到了有關子路由器/路由的問題。 (縮寫下面的例子。)重定向到時沒有找到子路由,但工作正常否則
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
,登錄頁面顯示正確。
無法找到名爲'auth/login'的路由。
我確實已經有一個重定向路由,對不起,我沒有在示例中包含它。我不想導航到'auth',因爲我想知道爲什麼它不能直接重定向到'auth/login'。謝謝! –
(我確實暫時放了這個修復程序,但它仍然有效,但仍想知道_why_) –
您無法使用主應用程序路由器導航到'auth/login'的原因是因爲該路線不存在在應用路由器上。可能還有其他方法可以實現這一點,但我給出的方式是最簡單的。 –