Мне было интересно две вещи, в контексте обработки событий angularJS.
- Как определяется порядок, в котором запускаются обработчики, прослушивающие одно и то же событие?
- Является ли это признаком плохого дизайна, если вы начинаете задумываться об этом?
После чтения документации по angular $on, $broadcast и $emit, а также встроенного потока событий DOM Думаю, я понимаю, в каком порядке обработчики событий будут запускаться в разных областях. Проблема заключается в том, что несколько обработчиков прослушиваются в одной области (например, $rootScope) из разных мест (например, Controllers vs Services).
Чтобы проиллюстрировать проблему, я собрал jsfiddle с одним контроллером и двумя службами, все из которых передаются через $rootScope http://jsfiddle.net/Z84tX/
Thanks