现在,$broadcast和$emit之间的性能差异已经消除,是否有任何理由更喜欢$scope.$emit而不是$rootScope.$broadcast?
是的,他们是不同的。
$emit被限制在作用域层次结构(向上)-如果它适合你的设计,这可能是好的,但对我来说,这似乎是一个相当武断的限制。
$rootScope.$broadcast在所有选择之间工作来监听事件,在我看来这是一个更合理的限制。
我遗漏了什么吗?
编辑:
澄清一下,派遣的方向不是我所关注的问题。$scope.$emit向上分派事件,而$scope.$broadcast向下分派事件。但是为什么不总是使用$rootScope.$broadcast来达到所有预期的侦听器呢?