Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 将服务单例实例注入到另一个没有构造函数的服务_Angular - Fatal编程技术网

Angular 将服务单例实例注入到另一个没有构造函数的服务

Angular 将服务单例实例注入到另一个没有构造函数的服务,angular,Angular,我有: 将用作父类的BaseService UtilService用于实用功能 AService是BaseService的子类(AService从BaseService扩展而来) BService也是BaseService的子类 我想将UtilService单例实例注入BaseService,但不使用构造函数(构造函数(构造函数(BaseService:BaseService){}),因为如果不是,调用UtilService的构造函数(super(arguments))时,AService和

我有:

  • 将用作父类的BaseService
  • UtilService用于实用功能
  • AService是BaseService的子类(AService从BaseService扩展而来)
  • BService也是BaseService的子类
我想将UtilService单例实例注入BaseService,但不使用构造函数(构造函数(构造函数(BaseService:BaseService){}),因为如果不是,调用UtilService的构造函数(super(arguments))时,AServiceBService都需要将UtilService单例实例作为参数传递,这显然是一个冗余步骤。 因此,我想知道是否有其他方法可以做到这一点,而无需在AService/BService构造函数的超级调用中传递UtilService单例实例。
提前谢谢。

我不知道是否会是singelton,但您可以使用

constructor(private inj: Injector) { }
....where you need..
const customService= this.inj.get(CustomService)

我不知道它是否是singelton,但您可以使用

constructor(private inj: Injector) { }
....where you need..
const customService= this.inj.get(CustomService)

虽然我在模块提供程序中添加了UtilService,但仍然出现以下错误:错误:未捕获(承诺中):错误:没有UtilService提供程序您在app.module.ts的模块提供程序中添加了UtilService吗?您的UtilService类似于@Injectable()导出类UtilService?虽然我在模块提供程序中添加了UtilService,但仍然出现以下错误:错误:未捕获(承诺中):错误:没有UtilService的提供程序您在app.module.ts中的模块提供程序中添加了UtilService?您的UtilService类似于@Injectable()导出类UtilService?