2 回答
TA贡献1735条经验 获得超5个赞
我建议重构代码,以便您可以在内部引用您的函数channel.off。这更像是一个 JavaScript 语言问题
const myChannelEventHandler = event => {
this.messages = [...this.messages, event.message];
}
this.channel.on('message.new', myChannelEventHandler);
// remove the handler for all "message.new" events on the channel
// Apply this whenever you need
channel.off("message.new", myChannelEventHandler);
TA贡献1876条经验 获得超5个赞
感谢Taplar,我得到了这个工作。解决方案就这么简单:
定义一个消息事件处理程序,并为 Angular 组件类创建一个属性:
messageEventHandler = event => {
this.messages = [...this.messages, event.message];
};
对通道使用事件处理程序:
this.channel.on('message.new', this.messageEventHandler)
对通道关闭使用相同的事件处理程序:
this.channel.off('message.new', this.messageEventHandler)
添加回答
举报