Показать сообщение отдельно
  #17 (permalink)  
Старый 27.02.2015, 23:47
Аватар для MetaDriver
Аспирант
Отправить личное сообщение для MetaDriver Посмотреть профиль Найти все сообщения от MetaDriver
 
Регистрация: 24.04.2014
Сообщений: 66

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

Последний раз редактировалось MetaDriver, 27.02.2015 в 23:54.
Ответить с цитированием