私のシナリオLaravel放送
イムlaravelエコーを使用せずに、プッシャーで動作するようにlaravelを取得しようと、すべてが公共チャネル上で動作しますが、私は私のイベントのbroadcastOn()
方法でプライベートチャンネルに切り替えたときフロントエンドのプッシャーはもう何も選択しません。私のプッシャーアプリケーションのイベントログにプライベートチャンネルとして記録されますが、フロントエンドではプッシュしません。
私がセットアップされ、このようなチャネルコードのためにtrueを返しました:
Broadcast::channel('application', function ($post, $username) {
if(true){
return true;
}
});
は、これは私のイベントコードです:
public function broadcastOn()
{
return new PrivateChannel('application');
}
クラスはShouldBroadcast
を実装し、最後にここに私のフロントエンドでありますコード:
<script>
//instantiate a Pusher object with our Credential's key
var pusher = new Pusher('MY_KEY', {
cluster: 'en',
encrypted: true
});
//Subscribe to the channel we specified in our Laravel Event
var channel = pusher.subscribe('application');
//Bind a function to a Event (the full Laravel class)
channel.bind('App\\Events\\PostMessage', function(){
console.log('Event Logged');
});
</script>
私の質問
私のプッシャーフロントエンドコードが私のプライベートブロードキャストを検出しないのはなぜですか?
これはありがたいですね、もう一度リメイクしてください(アプリケーションを削除してエコーを試してみることにしました)。私がエコーを使わないことを望む唯一の理由は、javascriptコードの各部分を非常によく置く場所を文書化していないからです。私は別のサイトに行き、コードを調べることで見つけ出すことができました。主な理由は、それ自体でvueコンポーネント/ javascriptに慣れていないimです。しかし、これはもう一度病気をテストして、あなたに戻ってくれてありがとう! –
もう一度見て、いくつかの追加の変更を加えて、私はそれを働かせることができました!これは本当に助けてくれてありがとう。巨大な学習曲線 –
あなたは歓迎よりもよ!幸運の最高: –