Laravel Echo不听推送事件 [英] Laravel Echo not listening for pusher events

查看:55
本文介绍了Laravel Echo不听推送事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Trying to create a kind of chat app with laravel and vuejs. Once the message is sent, I fire the event from laravel which reflects on the pusher debug console with the right event class but the listen callback from vuejs is not called at all.

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的调试控制台的屏幕截图在此处看到该图片,因为我被告知无法嵌入图片

Below is a screenshot of the debug console from 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将使用事件的类名广播事件.但是,您可以通过在事件上定义broadcastAs方法来自定义广播名称:

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

上面是从 Laravel广播名称

我的建议:

我一直使用私人频道进行聊天,您也必须这样做.在此处阅读原因

I have always used private channels for chat and you must too. Read here why

这篇关于Laravel Echo不听推送事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆