簡體   English   中英

laravel廣播中的推送器傳遞參數

[英]pusher pass parameter in laravel broadcastAs

嗨,我有這個 js 代碼

    var pusher = new Pusher('my pusher key', {
        cluster: 'ap2'
    });
    var channel = pusher.subscribe('my-channel');

    channel.bind('my-event', function(data)
    {
        console.log(data);
    });

這是我的 laravel 代碼

protected $pos_invoice;
public function __construct($pos_invoice)
{
    $this->pos_invoice = $pos_invoice;
}
public function broadcastOn()
{
    return new Channel('my-channel');
}

public function broadcastAs()
{
    return 'my-event';
}

這是調用代碼

return event( new \App\Events\New_pos_online_order_event('aa'));

現在的代碼

    channel.bind('my-event', function(data)
    {
        console.log(data);
    });

總是在控制台上返回 [] 所以我嘗試了這個

public function broadcastAs()
{
    return 'my-event.'.$this->pos_invoice;
}

和這個

public function broadcastOn()
{
    return new Channel('my-channel'.'asdfasdf');
}

當我改變任何東西時

public function broadcastOn()
{
    return 'my-channel';
}

public function broadcastAs()
{
    return 'my-event';
}

代碼不工作,也沒有在控制台上返回任何東西,所以我怎么能用 js 在 pusher 和 laravel 上傳遞參數謝謝..

你需要定義函數broadcastWith

**
 * Get the data to broadcast.
 *
 * @return array
 */
public function broadcastWith()
{
    return ['pos_invoice' => $this->pos_invoice];
}

您將在綁定函數的數據中收到數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM