【发布时间】:2019-12-16 14:00:52
【问题描述】:
我第一次尝试在 Laravel 和 VueJS 上实现私有频道。我已经达到了事件按预期触发的地步,但是我无法在我想要的组件中收听它。
我遵循了安装适当依赖项的所有步骤。有人可以告诉我为什么会这样吗?
我的听众:
Echo.private('message')
.listen('NewTeam', (e) => {
console.log('made it');
});
我的活动:
namespace App\Events;
use App\Team;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Support\Facades\Log;
class NewTeam implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public $team;
public function __construct(Team $team)
{
$this->team = $team;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('message');
}
public function broadcastWith()
{
return ["message" => 'A new team has arrived'];
}
我的频道.php:
Broadcast::channel('message', function ($user) {
return true;
});
我的推送者帐户告诉我它正在发送。但是,当我触发事件时,我没有收到来自侦听器的任何信息。
【问题讨论】: