我正在使用 ng2-cable 进行聊天并广播来自 Rails 中服务器的任何操作
AngularJs
--> 在 app.component.ts 中
从' ng2-cable '导入{Ng2Cable,Broadcaster} ;
--> 用于连接
私有 ng2cable:Ng2Cable,
this.ng2cable.subscribe(environment.apiEndpoint+"/cable", 'ChatChannel',{room: this.currentUser.id});
--> 从服务器读取通知
从“ng2-cable”导入{广播公司};
私人广播公司:广播公司,
this.broadcaster.on('ExpertQuestionList').subscribe(message => { console.log("加载后返回此页面时调用了多次") } );
这里,ExpertQuestionList 是一个动作名称。它将使用动作电缆从 Rails 服务器广播。
-------------------------------------------------- -------------------------------------------------- --------------------
ExpertQuestionList 从服务器广播一次,我可以在我的 rails 日志中看到,但在 console.log 中调用了两次。两次意味着它重复多次,与您将在此页面上出现的次数相同。如此简单的重新初始化很多次。我想要重置或销毁操作(this.broadcaster.on('ExpertQuestionList'))