Сообщение от nerv_
|
А вообще смысла плодить контроллеры не вижу за исключением маршрутизации.
В основном у меня на приложение 0-1 контроллеров.
|
В целом соглашусь. Процентов на 80.
Просто бывают частности/тонкости. Например, иногда проще сделать контроллер внутри стороннего компонента-контейнера и пробросить в него часть переменных из родительского контроллера, нежели доставать из него (родителя) данные через цепочку из 2-3 "парентов", поскольку сторонний компонент имеет изолированный скоп, зачастую двухслойный. Типичный представитель (как раз двухслойный) - Angular-ui-Tabs (
ui.bootstrap.tabs). Другой пример : иногда удобно сделать "глобальный" именованный контроллер (используя controller-as синтаксис), для удобного доступа к определённым данным из любой точки приложения. В таких случаях для доступа из JS удобно использовать сервисы, а вот для доступа из HTML конроллеры годятся лучше. У меня так работает контроллер состояния выдвижных вкладок (выдвинуты/задвинуты), и контроллер статуса/роли юзера, используемый для отрисовки панелек управления, меняющих вид в зависимости от прав доступа. Реально удобно.
Вапче, чего, к примеру, начинающему нужно понять нащёт контроллеров - это то, что контроллер создаёт новую область видимости ($scope). Т.е. можно сказать его предназначение - создавать новый скоп (со всеми вытекающими удобствами/неудобствами)...., ну и оборудовать его ($scope) всяческой автоматизацией, в меру своего разумения.
Как-то так. Если эта мысль ухвачена за основу - употребление контроллеров становится вполне разумным и в основном уместным.