за рендер в дом отвечает handlebars
у меня в html готовые шаблоны
вся задача этих компонентов
зарегистрировать их (каждый у себя)
в момент инициализации получив данные от сервака зарендерить каждый в свои дом-ноды
и проинициализировать события кликов, и тд которые будут производить определенные действия с собою или другими частями приложения.
с собою когда - понятно
а вот с другими - вопрос - как к ним доступ получить?
если есть шина событий общая - она должна где-то создаваться
где?
и импортировать и в главный компонент (где в конструкторе инициализируются мелкие)
и в мелкие
и если в мелком надо изменить из одного компонента что-то в другом
вместо прямого вызова его методов
можно вызвать событие шины
на которое будет подписан тот другой компонент и будет вызван его метод засчёт срабатывания этого события
такой подход мне нравился во вью
но там и биндинг удобный на ноды - зрительно видно что конкретно срабатывает
Я бы сделал одну модель, типа глобал стейт, на неё подписал бы вьюхи в контроллере. Во вьюхах наружу торчат подписка на дом обработчики. В модели подписки на изменение стейта. Контроллер все связывает вместе - моделей может быть много, как и представлений. Гуглить mvc/mvp