私はチャットにng2-cableを使用しており、サーバーからのアクションをレールでブロードキャストしています
AngularJs
--> app.component.ts 内
import { Ng2Cable, Broadcaster } from ' ng2-cable ';
--> 接続にはこれを使用
プライベート ng2cable: Ng2Cable,
this.ng2cable.subscribe(environment.apiEndpoint+"/cable", 'ChatChannel',{room: this.currentUser.id});
--> サーバーからの通知を読む
import {ブロードキャスター} from 'ng2-cable';
民間放送局: Broadcaster,
this.broadcaster.on('ExpertQuestionList').subscribe(message => { console.log("これは、一度ロードした後にこのページに戻ってきたときに複数回呼び出されます") } );
ここで、ExpertQuestionList は 1 つのアクション名です。アクションケーブルを使用してレールサーバーからブロードキャストします。
-------------------------------------------------- -------------------------------------------------- --------------------
ExpertQuestionList はサーバーから 1 回ブロードキャストされます。レール ログで確認できますが、console.log で 2 回呼び出されます。2回とは、このページに来る回数と同じように複数回繰り返すことを意味します。何度も再初期化するのはとても簡単です。リセットまたは破棄アクションのようなものが欲しい (this.broadcaster.on('ExpertQuestionList'))