Ошибка в списке сообщений xmpp, connection.addHandler () не вызывает дочерний компонент (xmpp с angular6) - PullRequest
0 голосов
/ 12 сентября 2018

Я использую Strophe.js для соединения с XMPP-сервером в angular6.connection.addHandler() - это метод получения сообщений.

Моя структура компонента

Родительский компонент:

, который содержит список пользователей, с которыми я общаюсь, и последниесообщение под именем пользователя, которое находится в левой части страницы.

например

user1

Hi ...

Дочерний компонент: В правой части находятся сообщения чата с конкретным пользователем, например, окно двустороннего чата.

См. Прилагаемые изображения для структуры. enter image description here enter image description here

Когда я получаю сообщение от user1, оно появляется слева, то есть под именем user1 («Привет» будет заменено новым последним сообщением) Это обрабатывается с помощью connection.addHandler() вызов для левого / родительского компонента.

Этот код также должен автоматически выполняться для дочернего компонента.Так что новое последнее сообщение должно появиться в списке чата, но этого не происходит.

Вот код слушателя:

 `connectionXmpp.connection.addHandler((msg) => {
    console.log(msg)
    return true;
}, null, 'message')`

Я добавил connection.addHandler()Слушатель как в родительском, так и в дочернем компонентах, также пытался использовать только родительский компонент, используя if else conditions, но безрезультатно.

Пожалуйста, дайте мне знать, где я ошибся, или у меня есть решение для вызова слушателя в обоихродительский и дочерний компонент.

...