Laravel Echo不听推送事件 [英] Laravel Echo not listening for pusher events
问题描述
尝试使用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屋!