gpt4 book ai didi

angular - 在 Angular 的工厂提供者中注入(inject) @ngrx store 作为依赖项

转载 作者:行者123 更新时间:2023-12-02 17:11:45 24 4
gpt4 key购买 nike

我在我的 Angular 应用程序的 app.module 中使用函数工厂来初始化一项服务。像这样

export function analyticsServiceFactory() {
return ConfigService.env === "development" ? new AnalyticsDevService() : new AnalyticsService();
}
...
const providers = [
...
{ provide: AnalyticsService, useFactory: analyticsServiceFactory }
];

到目前为止一切正常。问题来了,因为现在我需要将状态 (@ngrx) 作为对其中一项服务的依赖注入(inject)。我该怎么做?

我知道我可以向工厂提供者添加依赖项,但我该如何添加状态?这可能吗?

此外,我的商店和我的 analyticsServiceFactory 在不同的模块中定义,这使得它变得更加困难。

有什么想法吗?谢谢。

最佳答案

您可以在 "deps" 中要求依赖项提供者定义的数组,然后只接受它们作为工厂函数中的参数:


{
provide: FooService,
useFactory: (store: Store<AppState>, httpClient: HttpClient) => {
return new FooService(httpClient, store);
},
deps: [Store, HttpClient]
}

关于angular - 在 Angular 的工厂提供者中注入(inject) @ngrx store 作为依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48867231/

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