【发布时间】:2018-07-05 06:46:48
【问题描述】:
如何将多个服务实例注入到同一个服务的 Angular 组件中?
例如 - 我的代码中有 dbService,我想调用这个 dbService 实例两次,并在构造函数中用两个不同的值初始化这两个服务。但是当我在组件中创建两个实例时,像
构造函数(私有 db1:dbService,私有 db2:dBservice){}
注入的实例基本相同。如何在 Angular 2+ 或更高版本中实现这样的用例。
【问题讨论】:
如何将多个服务实例注入到同一个服务的 Angular 组件中?
例如 - 我的代码中有 dbService,我想调用这个 dbService 实例两次,并在构造函数中用两个不同的值初始化这两个服务。但是当我在组件中创建两个实例时,像
构造函数(私有 db1:dbService,私有 db2:dBservice){}
注入的实例基本相同。如何在 Angular 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() 方法。
【讨论】: