我在一个多域网站上工作。我想根据域更改默认路由 URL。在没有服务或模块检查它并在 Init 之后重定向的情况下,这可能是有角度的吗?
我想将默认 URL 存储在 API 调用后面的数据库中。 API 调用已用于加载正确的 CSS 和其他方面的特定配置。这意味着我必须先等待 API 调用完成。
https://example.com --> angular defaultRoute https://example.com/nl/home
https://information.com --> angular defaultRoute https://information.com/nl/welcome
亲切的问候, 亚历克斯
您可以在您的模块中使用
APP_INITIALIZER
,并在应用程序启动之前做一些检查,如果这是您正在寻找的。
APP_INITIALIZER
确实支持 async
调用,因此如果您需要执行一些异步操作,应用程序将在加载应用程序之前等待异步操作解决。
@NgModule({
providers: [
{
provide: APP_INITIALIZER,
useFactory: () => () => {
if (/* some condition */) {
window.location.href = 'https://example.com/nl/home'
} else {
window.location.href = 'https://information.com/nl/welcome'
}
},
multi: true
}
]
})
export class AppModule { }