Я использую Strophe.js для соединения с XMPP-сервером в angular6.connection.addHandler()
- это метод получения сообщений.
Моя структура компонента
Родительский компонент:
, который содержит список пользователей, с которыми я общаюсь, и последниесообщение под именем пользователя, которое находится в левой части страницы.
например
user1
Hi ...
Дочерний компонент: В правой части находятся сообщения чата с конкретным пользователем, например, окно двустороннего чата.
См. Прилагаемые изображения для структуры.
Когда я получаю сообщение от user1, оно появляется слева, то есть под именем user1 («Привет» будет заменено новым последним сообщением) Это обрабатывается с помощью connection.addHandler()
вызов для левого / родительского компонента.
Этот код также должен автоматически выполняться для дочернего компонента.Так что новое последнее сообщение должно появиться в списке чата, но этого не происходит.
Вот код слушателя:
`connectionXmpp.connection.addHandler((msg) => {
console.log(msg)
return true;
}, null, 'message')`
Я добавил connection.addHandler()
Слушатель как в родительском, так и в дочернем компонентах, также пытался использовать только родительский компонент, используя if else conditions
, но безрезультатно.
Пожалуйста, дайте мне знать, где я ошибся, или у меня есть решение для вызова слушателя в обоихродительский и дочерний компонент.