Я бы рекомендовал использовать сервис в качестве среды для связи между контроллерами. Служба будет гарантировать, что состояние данных остается неизменным. В надежде, что вы используете отдельную область для каждого контроллера, оптимальным способом будет использование службы для обновления данных в области. Другой способ, который я бы предложил, - это использовать какой-нибудь магазин (шаблон Flux), поскольку вы сильно зависите от данных, имеющихся в вашей области. Реализация может быть немного сложной, так как вы используете Angular 1.x, но это того стоит. PS: также рекомендовал бы использовать модель представления вместо использования области действия непосредственно в ваших контроллерах и воздерживаться от использования глобальной области действия.