Я только начал использовать AngularJS, поэтому я не эксперт.
У меня есть div, представляющий правильную область моего html-представления. В этом div у меня есть контроллер, т.е.
<div class="rightContainer" ng-controller="rightContainerCtrl">...</div>
Внутри этого div у меня есть таблица, область поиска и т.д. Каждая область внутри этого div имеет свои собственные контроллеры, она выглядит так:
<div class="rightContainer" ng-controller="rightContainerCtrl">
...
<div class="search" ng-controller="searchCtrl">...</div>
...
<div class="table" ng-controller="tableCtrl">...</div>
</div>
область поиска, например, имеет свой собственный контроллер, и это дочерний элемент rightContainerCtrl, потому что ему нужно изменить некоторый контент в родительском (rightContainerCtrl), но divContainer div растет, а теперь он большой и содержит несколько вложенных контроллеров.
Я думаю, что использование этих вложенных контроллеров в этом контексте плохо, потому что все вложенные контроллеры совместно используют родительскую область, и не всем контроллерам необходимо получить доступ ко всем переменным родительской области, а также все контроллеры являются "заключенными" rightContainerCtrl, поэтому они сильно связаны с родительским контроллером.
Похоже на объект God анти-шаблон (в этом случае контроллер Бога), поэтому я думаю, что вместо использования вложенных контроллеров я могу рефакторируйте мой код, чтобы устранить контроллер rightContainerCtrl и вместо этого используйте службу (например, в шаблоне проектирования фасадов), эта служба будет использоваться контроллерами вместо совместного использования переменных области.
но поскольку я не эксперт по AngularJs, я не уверен, что я прав, или если лучше оставить этот родительский контроллер, возможно, я что-то упустил, поэтому мой вопрос
Когда лучше использовать вложенные контроллеры (вложенные области) и когда лучше использовать сервисы вместо angularjs?