【问题标题】:Why Laravel Echo not listening为什么 Laravel Echo 不听
【发布时间】:2022-01-11 18:08:39
【问题描述】:

我正在处理一个小型聊天项目,但 Laravel 回声似乎没有在听,因为我可以在推送网站仪表板上正确看到日志(消息)

这是我的代码:

mounted: function(){
        
        Echo.private('chat').listen('MessageSent', (e) => {
            console.log(e)
            
        });
    },

这是我的bootstrap.js 文件

import Echo from 'laravel-echo';

window.Pusher = require('pusher-js');

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: process.env.MIX_PUSHER_APP_KEY,
    cluster: process.env.MIX_PUSHER_APP_CLUSTER,
    forceTLS: true
});


my channel.php


Broadcast::channel('chat', function ($user) {
    return auth()->check();
});

顺便说一句,我在推送仪表板上看到了消息,但我的 vue 应用程序没有监听

我正在进入控制台:

No callbacks on private-chat

【问题讨论】:

    标签: javascript laravel vue.js


    【解决方案1】:

    在事件名称前加上.

    改一下

    mounted: function(){
            
            Echo.private('chat').listen('MessageSent', (e) => {
                console.log(e)
                
            });
        },
    

    到这里

    mounted: function(){
            
            Echo.private('chat').listen('.MessageSent', (e) => {
                console.log(e)
                
            });
        },
    

    【讨论】:

      【解决方案2】:

      修复了我的broadcast 上有->toOthers(),所以我只打开了一个私人导航

      【讨论】:

        猜你喜欢
        • 2019-09-21
        • 2020-12-21
        • 1970-01-01
        • 1970-01-01
        • 2020-01-15
        • 2020-08-22
        • 1970-01-01
        • 2020-08-30
        • 2017-08-21
        相关资源
        最近更新 更多