我有一个关于我的 Angular 应用程序的问题,我有一个应用程序从 API 获取其初始配置数据,并且可以使用这些配置引导应用程序。这是 ApiConfigService:
export class ApiConfigService {
public initialized: Promise<any>;
constructor(
private readonly windowService: WindowService
) {
this.initialized = window.configReady;
}
}
这是 Api 配置工厂:
import { ApiConfigService } from '../services/api-config.service';
export function fetchApiConfigFactory(
apiConfigService: ApiConfigService
) {
return () => apiConfigService.initialized;
}
在我的应用程序模块中,这就是我在提供程序中所拥有的:
{ provide: APP_INITIALIZER, useFactory: fetchApiConfigFactory, multi: true, deps: [ApiConfigService] },
所以应用程序初始化依赖于来自 window.ConfigReady 的承诺。如果 window.ConfigReady 解决并具有正确的数据应用程序将被初始化并且一切都很好。
现在我要添加一个新功能,在某些情况下配置不存在,我需要实现一个登录页面并将其显示给用户,然后在登录后将获取配置并初始化应用程序。我想知道如何实现该结构的登录组件?基本上我需要以某种方式添加到应用程序模块中,当 window.ConfigReady 不存在时,使用另一个组件signInComponent
将其显示给用户。任何有关如何在 Angular 中执行此操作的帮助和行会都将不胜感激!谢谢