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