Я хочу обрабатывать два независимых контроллера без трансляции $rootScope в AngularJS

Я сделал это с broadcast событие в $rootScope, Сейчас я пытаюсь сделать это без использования $rootScope, Это возможно?

Вот код может проверить, что я сделал с $rootScope

Пример кода здесь

1 ответ

Решение

Для обмена данными между контроллерами, использующими события, всегда нужна область действия, которая соответствует иерархии обеих областей контроллера, поскольку широковещательные события распространяются по иерархии области действия от родителя к потомкам. Поскольку $rootScope является самой верхней областью, его можно сохранить для трансляции. Альтернативным решением было бы добавить функции наблюдения к обоим контроллерам, наблюдающим переменную во внедренном сервисе. Поскольку услуги - это одиночные услуги, это тоже будет хорошо.

Другие вопросы по тегам