У меня вопрос по Angular2 + (не AngularJs). Я программист Vue.js, и мне любопытно, возможно ли это в Angular.
Представьте, что у вас есть приложение с множеством модулей, которые выполняют множество задач. У вас есть приложение внешнего интерфейса, отвечающее за мониторинг состояний модуля; отображение журналов, ошибок, информирование пользователя о том, что некоторые модули завершили работу и т. д. Модули взаимодействуют с веб-интерфейсом через WebSocket (или STOMP). Если сообщение получено внешним интерфейсом, оно должно быть обработано, и соответствующее состояние модуля должно быть обновлено (например, заголовок). Поэтому, если Angular получил сообщение, он должен динамически выбрать дочерний компонент и обновить его состояние (вызвать метод child).
Вот как это выглядит в Vue.js:
Содержимое родительского компонента:
<module ref="moduleA" ></module>
<module ref="moduleB" ></module>
<module ref="moduleC" ></module>
Родитель отвечает за обработку связи WebSocket (или STOMP). В новом сообщении он выполняет следующий код:
const message = JSON.parse(messageFromBackend);
const moduleName = message["module"]; // message["module"] is for example 'moduleB'
this.$refs[moduleName].updateTitle(message["title"]);
Таким образом, когда Родитель получает сообщение, он динамически выбирает подходящего дочернего элемента (он знает, какой из правых от бэкэнда ( message ["module"] )), а затем обновляет состояние модуля.
Возможно ли это в Angular?