我们有一个 Angular 应用程序,我们正在将其转换为独立应用程序。经过一番尝试和错误后,除了一个案例外,一切都很顺利。 我们有一个组件要求用户确认一些数据。这种情况通常每两年发生一次。显然我们不想每次都加载这个组件。 组件本身加载在对话框内,但它有一些状态和一些效果。现在,为了提供状态和效果,我需要一个EnvironmentInjector(因为ProvideEffects返回一个EnvironmentProvider),但是我不能在bootstrapApplication中使用providers数组,因为它是全局的,而且我没有路由,因为组件是在内部加载的一个对话框,无论选择什么页面。 角度指南(https://angular.io/guide/standalone-components#environment-injectors)说
所以我认为剩下的唯一选择是使用 CreateEnvironmentInjector 创建一个 EnvironmentInjector。据我了解,这意味着注入一个 ApplicationRef 来获取根注入器并将其作为父级传递给 CreateEnvironmentInjector。 我不知道 ProvideEffects 是否可以做到这一点,或者是否有规范的方法可以做到这一点,或者只是更好的方法。 有人能指出我正确的方向吗?
您好,我们现在正在努力解决完全相同的问题。我们有一个延迟加载的模式,我们并不真的想将其存储提供给父路由。 Mb createEnvironmentInjector确实是一个选项。但是没有足够的文档说明createEnvironmentInjector到底做什么。