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