Angular使用回调与使用broadcast/emit/on范例

Eri*_*c G 9 angularjs angularjs-scope

我的问题是关于使用更直接的回调结构与事件广播和收听之间的最佳实践.我没有使用broadcast/emit/on事件传播框架.相反,当一个已知事件发生时(在事件的源头),我一直在创建一个回调寄存器并触发注册的回调.这一切都是通过服务完成的.

广播/发射/开启范例的效率如何?我应该使用它吗?它是否与回调类型的结构一样有效?

谢谢.

Jer*_*ess 5

这不是效率问题,而是可维护性问题.当您使用emit和broadcast时,您将通信机制与视图耦合,因为$scope它基本上是数据绑定的结构.服务方法更易于维护,因为您可以在不调整范围的情况下测试通信,并且除了控制器之外还可以在服务之间进行通信.有了$scope $broadcast,$emit你只能在有$scope注射的地方进行交流.

  • 如果运行时速度和效率对您很重要,请不要使用JS.说真的,除非你每秒发出数百次事件(你不应该),这根本不是问题. (2认同)