何时在Angular JS中使用emit和broadcast?

时间:2016-09-17 06:55:47

标签: javascript angularjs events

我一直在玩Angular 1个月,每次我都认为使用emit和broadcast在框架的不同部分之间进行通信是有意义的,我发现文章说我们应该避免它们(例如: http://seanhess.github.io/2013/10/14/angularjs-directive-design.html

到目前为止,我专注于指令和控制器之间以及控制器和服务之间的通信:

  • 指令< - >控制器:要从指令调用控制器的方法,我使用隔离范围和回调。在另一个方向,我在控制器中使用状态变量,在指令中观察和修改触发指令的方法。

  • 控制器< - >服务:同样的机制。我直接在我的控制器中使用服务方法(这是服务的经典用法)和在控制器中监视的服务中的状态变量。

我的问题很简单:当发射和广播相关时,你能给我一些例子和解释吗?

1 个答案:

答案 0 :(得分:1)

当您需要将内部作用域的消息或请求发送到外部作用域时,您可以使用$ emit,当您想要从外部作用域到内部作用域时,我们使用$ broadcast。