Теперь, когда разница в производительности между $broadcast
и $emit
была устранена, есть ли какая-либо причина предпочесть от $scope.$emit
до $rootScope.$broadcast
?
Они разные, да.
$emit
ограничен иерархией области (вверх) - это может быть хорошо, если оно соответствует вашему дизайну, но мне кажется, что это довольно произвольное ограничение.
$rootScope.$broadcast
работает во всех, кто предпочитает слушать событие, что является более разумным ограничением в моем сознании.
Я что-то пропустил?
EDIT:
Чтобы пояснить ответ в ответ, направление отправки не является проблемой, за которой я нуждаюсь. $scope.$emit
отправляет событие вверх, а $scope.$broadcast
- вниз. Но почему бы не всегда использовать $rootScope.$broadcast
для охвата всех предполагаемых слушателей?