Angularjs 触发事件中$broadcast/$emit/$on的替代选项

Angularjs 触发事件中$broadcast/$emit/$on的替代选项,angularjs,Angularjs,在AngularJS中,除了$broadcast/$emit/$on之外,触发事件的另一种方式是什么。如果我在控制器和/或指令之间有太多的事件触发器,我担心这会导致难以跟踪意大利面条事件。(或者说太多的活动毕竟是一个糟糕的设计?) 我听说使用服务/工厂是首选方式。有人能给我举个例子吗?或者除了服务/工厂之外还有其他方法吗?您可以使用事件队列/事件总线作为解决方案。退房 及 你能举例说明你是如何使用eventing的吗?从您的问题来看,不知道您是否过度使用事件。例如,在控制器/指令的函数末尾,例

在AngularJS中,除了$broadcast/$emit/$on之外,触发事件的另一种方式是什么。如果我在控制器和/或指令之间有太多的事件触发器,我担心这会导致难以跟踪意大利面条事件。(或者说太多的活动毕竟是一个糟糕的设计?)


我听说使用服务/工厂是首选方式。有人能给我举个例子吗?或者除了服务/工厂之外还有其他方法吗?

您可以使用事件队列/事件总线作为解决方案。退房


你能举例说明你是如何使用eventing的吗?从您的问题来看,不知道您是否过度使用事件。例如,在控制器/指令的函数末尾,例如A,我想调用另一个控制器/指令中的函数,例如B。这是合理的,指令A抛出指令B定义并侦听的事件,但这真的会发生在所有指令上吗?例如,如果您有一个弹出式指令,并且您想调整它的大小,因为其中的内容发生了变化,而其中的某个指令抛出了一个“resizeFlyout”指令,那么就可以了。另一方面,如果您在每个指令中使用事件来声明它已完成处理,那么您没有正确使用事件。您能给我一个示例,说明如何使用服务/工厂来触发事件,而不是使用$broadcast/$emit吗?