首页 > 解决方案 > xmpp 消息列表器中的问题,connection.addHandler() 不调用子组件(带有 angular6 的 xmpp)

问题描述

我正在使用Strophe.js与 angular6中的 XMPP 服务器连接。connection.addHandler()是接收消息的方法。

我的组件结构是

父组件:

其中包含与我聊天的用户列表和用户名下方的最新消息,位于页面左侧。

例如

用户1

你好...

子组件: 右侧有与特定用户的聊天消息,如双向聊天窗口。

有关结构,请参阅随附的图像。 在此处输入图像描述 在此处输入图像描述

当我收到来自 user1 的消息时,它出现在左侧,即在 user1 名称下方('Hi' 将替换为新的最新消息)这是通过connection.addHandler()调用左侧/父组件来处理的。

此代码也应该为子组件自动执行。因此,新的最新消息应该出现在聊天列表中,但这并没有发生。

这是监听器代码:

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

我在父组件和子组件中添加了connection.addHandler()侦听器,也尝试在父组件中使用 using if else conditions,但徒劳无功。

请让我知道,我在哪里做错了,或者有任何解决方案可以在父组件和子组件中调用监听器。

标签: angularxmppstrophe.js

解决方案


推荐阅读