Laravel Echo 未监听推送事件

Laravel Echo not listening for pusher events

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

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的调试控制台截图 see the image here as am told I can't embed images yet

试试这个:

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 将使用事件的 class 名称广播事件。但是,您可以通过在事件上定义 broadcastAs 方法来自定义广播名称:

public function broadcastAs()
{
    return 'server.created';
}

The above was copy pasted from Laravel Broadcast Name

我的推荐:

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