Laravel Echo不听推送事件

时间:2019-01-16 18:31:22

标签: laravel vue.js pusher laravel-echo

尝试使用laravel和vuejs创建一种聊天应用程序。 发送消息后,我会从laravel触发事件,该事件会通过正确的事件类反映在pusher调试控制台上,但根本不会调用vuejs的listen回调。

created () {
        window.Echo.channel('chat')
            .listen('MessageSent', (e) => {
                console.log(e); //not getting this
                this.sentMessages.push({
                    message: e.message.message,
                    user: e.user
                });
            });

    },

下面是来自pusher的调试控制台的屏幕截图 s3-spark

1 个答案:

答案 0 :(得分:0)

尝试一下:

"url".getElementByID()

默认情况下,Laravel将使用事件的类名广播事件。但是,您可以通过在事件上定义broadcastAs方法来自定义广播名称:

created () {
        window.Echo.channel('chat')
            .listen('App\\Events\\Chats\\MessageSent', (e) => {
                console.log(e);
                this.sentMessages.push({
                    message: e.message.message,
                    user: e.user
                });
            });

    },
  

以上内容是从Laravel Broadcast Name粘贴的副本

我的建议:

我一直使用私人频道进行聊天,您也必须这样做。 Read here why