【问题标题】:Laravel Echo.join working only Echo.channel and Echo.private not workingLaravel Echo.join 仅工作 Echo.channel 和 Echo.private 不工作
【发布时间】:2017-10-14 02:05:36
【问题描述】:

我正在使用 laravel 5.4 和 pusher 进行事件广播。我创建了一个私人频道“聊天室”。

Echo.join('chatroom')  /// Work Well 
   .listen('MessagePosted', (e) => {
           this.messages.push({
           body: e.message.body
       });
});

但这不适用于 Channel 和 Private...

 Echo.channel('chatroom')   OR 
 Echo.private('chatroom')   //// Not Working 

收到以下错误

【问题讨论】:

    标签: vuejs2 laravel-5.4 broadcasting laravel-echo


    【解决方案1】:

    你需要把它放在mounted() 方法中。因为错误回答 .here 不是函数

      mounted(){
        Echo.private('chat')
        .listen('ChatEvent', (e) => {
          console.log(e);
        });
    
        //Make function for joining and leaving for any users
        Echo.join('chat')
        .here((users) => {
            console.log(users)
        })
        .joining((user) => {
            console.log(user.name)
        })
        .leaving((user) => {
            console.log(user.name)
        });
    
      }
    

    如果您进行私人聊天,那么在 routes/channels.php 中,您必须像这样定义/注册一个名为 chat 的频道 -

    Broadcast::channel('chat', function($user){
      return ['name' => $user->name]; //Return data as your need
    });
    

    希望对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 2016-01-20
      • 2018-07-22
      相关资源
      最近更新 更多