有没有办法从Angular注入值的地方找到方法?

时间:2019-01-10 22:06:57

标签: angular angular6

我知道在Angular中有一个层次依赖注入模型,其中注入器位于根和组件级别。有没有办法从Angular注入值的地方找到方法?我面临一个问题。我的应用程序中注入了错误的类。我需要调试Angular如何解决依赖关系。

1 个答案:

答案 0 :(得分:0)

如果您认为注入了错误的类,则可能是模块结构配置错误,其中某些子注入器(提供者)为您的组件提供了不同的类。

您可能需要查看Angular.io依赖项注入文档页面。具体是Injector Hierarchy and Service Instances上的部分。

如果您想手动配置服务的提供者,则可以使用providedIn批注的@Injectable属性来声明explicitly where the class is provided

@Injectable({
  providedIn: 'root', // or `providedIn: MyModule,`
})
export class MyService {
  constructor() { }
}

或者您可以在将要注入服务的模块中设置服务的提供程序,如下所示:

providers: [
  { provide: MyService, useClass: MyServiceAltImplementation }
]