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
尝试用 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