【问题标题】:When to use emit and broadcast in Angular JS?何时在 Angular JS 中使用发射和广播?
【发布时间】:2016-09-17 06:55:47
【问题描述】:

我已经使用 Angular 1 个月了,每次我认为使用发射和广播在框架的不同部分之间进行通信是有意义的,我发现有文章说我们应该尽可能避免它们(例如: http://seanhess.github.io/2013/10/14/angularjs-directive-design.html)

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

  • 指令 控制器:要从指令中调用控制器的方法,我使用隔离作用域和回调。在另一个方向上,我在控制器中使用状态变量,这些变量在指令中以及在修改触发指令的方法时被监视。

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

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

【问题讨论】:

    标签: javascript angularjs events


    【解决方案1】:

    当您需要从内部作用域向外部作用域发送消息或请求时,您可以使用 $emit,而当您希望从外部作用域到内部作用域执行相同操作时,我们使用 $broadcast。

    【讨论】:

    • 我明白这一点,我的问题是什么时候使用消息传递系统而不是“直接通信”(使用如上所述的回调和调用)?
    • 仅在无法直接通信时使用,只有在函数在同一范围内而不是在范围外时才能使用回调。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多