如何将多个服务实例注入到同一服务的角度组件中?
例如 - 我的代码中有dbService,我想要调用这个dbService实例两次,并在构造函数中使用两个不同的值初始化两个服务。但是当我在组件中创建两个实例时,如
构造函数(私有db1:dbService,私有db2:dBservice){}
基本上是同一个实例被注入。如何在角度2+或更高版本中实现此类用例。
答案 0 :(得分:2)
您可以在服务中创建一个返回该服务实例的方法。像这样的东西 -
public static instance: dbService;
public static getInstance(http: Http): dbService {
if (!dbService.instance) {
dbService.instance = new dbService(http);
}
return dbService.instance;
}
private constructor(public http: Http) {
}
私人建筑师确保可以从外面打电话
然后在您的组件中,您可以根据需要多次调用 getInstance()方法。