我有一个在组件和其他服务之间共享数据的服务。我用 Angular 的 DI 将它注入到组件和服务中。该服务将一些数据存储在其属性中(非静态)。我还使用 ComponentResolver 来动态创建和加载组件,然后销毁它们。问题是......如果我简单地在组件中注入这样的服务:
constructor(private myService: MyDataService) { ... }
每次注入此服务器的一个新实例,数据就会丢失。我可以静态存储数据,但是有订阅这些数据的观察者。长话短说 - 太多东西要重构为静态变量。是否有某种方法可以告诉 Angular 的 DI 只创建该服务的一个实例并在每次注入时共享它?