如何将多个服务实例注入到同一服务的角度组件中?
例如 - 我的代码中有dbService,我想调用这个dbService实例两次,并在构造函数中使用两个不同的值初始化两个服务 . 但是当我在组件中创建两个实例时
构造函数(私有db1:dbService,私有db2:dBservice){}
它基本上与注入的实例相同 . 如何在角度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) { }
PRIVATE CONSTRUCTOR TO MAKE SURE THAT IT CAN'T BE CALLED FROM OUTSIDE
然后在您的组件中,您可以根据需要多次调用 getInstance() 方法 .
1 回答
您可以在服务中创建一个方法,该方法返回该服务的实例 . 像这样的东西 -
PRIVATE CONSTRUCTOR TO MAKE SURE THAT IT CAN'T BE CALLED FROM OUTSIDE
然后在您的组件中,您可以根据需要多次调用 getInstance() 方法 .