Привет всем.
Не могу понять, как же правильно разрабатывать веб приложение с помощью Angular.
В частности меня интересует следующая ситуация:
на странице имеется несколько секций. В одной секции, допустим, я кликаю по элементам дерева, а в других секциях должна обновляться информация в соответствии с выбранным элементом дерева.
Так вот мне не понятно, все три секции должны находиться в рамках одного контроллера или все секции могут быть в своих контроллерах?
Сейчас у меня дерево (JsTree) вообще вне контроллера и оно имеет наборы своих событий. В событии "клика" JsTree я хочу как то вызвать контроллер, в котором происходит обновление нужно секции страницы. Но судя из stackoverflow, нехорошо вызывать методы контроллера из вне. Типа значит неправильно строит приложение.
Кто нибудь может доступно объяснить концепт? Как правильно реализовать мою задачу?
JsTree положить в контроллер и дергать ТОЛЬКО оттуда. А обновлять данные в других секциях с помощью сервисов, которые инжектятся в каждый контроллер, который отвечает за секцию.
Ну меня больше интересует вопрос, один контроллер должен охватывать все DOM элементы, которые взаимодействуют друг с другом? Если на всё приложение будет вообще 1 контроллер, я так понимаю, это тоже не правильно?
Антон Артёмов: Ну я например для приложения делаю один общий контроллер, и несколько маленьких, для своих задач: управление профилем пользователя - контроллер, отображение таблицы - контроллер, форма - контроллер, и т. п. И в каждой директиве свой контроллер.
Имеем родительский контроллер страницы.
В нем директива дерева и директива отображения
В директиву дерева прокидываем коллбек из контроллера, который в свою очередь обновляет отображение (скорее всего дергает сервис по получению данных)