angularjs:如何在服务之间广播?是否可以从一个服务广播一个变量并在另一个服务中使用它?

angularjs:如何在服务之间广播?是否可以从一个服务广播一个变量并在另一个服务中使用它?,angularjs,service,broadcast,Angularjs,Service,Broadcast,我对angularjs(两周的经验)并不陌生。是否可以广播来自某个服务的数据并在另一个服务中使用该数据。如果可能的话,我只想在服务之间传递数据,而不是控制器之间。我知道在控制器之间以及从服务到控制器之间是可能的。应该可以通过向两个服务中注入$rootScope并添加正常的$emit和$on调用。下面是一个plunker演示我的意思: 这对我来说是个糟糕的设计..为什么不将ServiceA注入ServiceB,然后从ServiceB调用ServiceA的方法呢?我知道,但我想知道更多关于广播和发射

我对angularjs(两周的经验)并不陌生。是否可以广播来自某个服务的数据并在另一个服务中使用该数据。如果可能的话,我只想在服务之间传递数据,而不是控制器之间。我知道在控制器之间以及从服务到控制器之间是可能的。

应该可以通过向两个服务中注入$rootScope并添加正常的$emit和$on调用。下面是一个plunker演示我的意思:


这对我来说是个糟糕的设计..

为什么不将ServiceA注入ServiceB,然后从ServiceB调用ServiceA的方法呢?我知道,但我想知道更多关于广播和发射的信息。是或否。如果不是,那么为什么不是,如果是,那么我认为广播只适用于有范围的控制器。广播发生在范围的继承层之间。要与服务共享数据,只需将服务注入另一个服务或控制器中即可。rootScope呢?我可以从服务台广播到控制器。显然,这是一个糟糕的设计。据我所知,emit向上传递数据,但在您的示例中,它向下传递数据!!!为什么?在这种情况下,它既不向上也不向下$rootScope正在发送事件,并且正在$rootScope上接收该事件$广播可能也会起作用