gpt4 book ai didi

dependency-injection - 将一个服务注入(inject)另一个服务

转载 作者:行者123 更新时间:2023-12-03 04:17:01 25 4
gpt4 key购买 nike

我想将一个服务注入(inject)另一个服务,但由于某种原因,“@Inject”装饰器被忽略了。例如,以下服务依赖于另一个服务:

@Injectable()
class MyService {
final AnotherService _service;
MyService(@Inject(AnotherService) this._service);
// ... more methods
}

Angular2 抛出以下错误:

ORIGINAL EXCEPTION: No provider for AnotherService!



我是否以不好的方式使用“@Inject”装饰器?

最佳答案

缺少一些信息来完全解决这个问题,但异常表明注入(inject)器没有足够的信息来解决 另一个服务

Angular 中的 DI 建立在层次结构之上,从根注入(inject)器开始,根注入(inject)器是在 Angular 应用程序 Bootstrap 上创建的。

每个层次结构都是一个新的注入(inject)器实例,从下到上解决依赖关系,即:如果注入(inject)器无法解析,它将要求其父级解析。这将一直持续到它到达没有父级的注入(inject)器(根注入(inject)器)。

在为 MyService 声明提供者之前,请确保为 AnotherService 声明提供者。

只需将提供程序添加到您提供给 Bootstrap 的提供程序数组中的另一个服务。

关于dependency-injection - 将一个服务注入(inject)另一个服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38295702/

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