是否有任何关于休假、加入、输入 vue.js 的回调?

Posted

技术标签:

【中文标题】是否有任何关于休假、加入、输入 vue.js 的回调?【英文标题】:Is there any callback for on leave, on join , on typing in vue.js? 【发布时间】:2018-07-29 19:52:47 【问题描述】:

关于

我正在使用 Laravel 学习 Vue.js。目前,正在练习在 2 个用户之间发送实时短信。

以下代码向其他用户发送消息

var url = "http://localhost:6001/apps/My_appId/events?auth_key=My_Key";

var socketId = Echo.socketId();
var request = 
    "channel": "private-Send-Message-Channel.2",
    "name": "MessengerEvent",
    "data": 
        "msg": message
    ,
    "socket_id": socketId
;
axios.post(url, 
    JSON.stringify(request))
        .then((response) => 
        //Success callback
    
);

接收消息

window.Echo.private('Send-Message-Channel.2')   
    .on('MessengerEvent', (e) => 
      //Receive the message
    
);

问题:休假、加入、打字、用户总数是否有回调?

【问题讨论】:

也许这可以帮助你:laravel.com/docs/master/broadcasting#presence-channels 我使用 vue.js(客户端 socket.io)不像 pusher 没关系,你还在用echo服务器。您只是在使用不同的广播公司,这不会更改 API。 在这种情况下,你能用所需的回调更正我的代码吗? 【参考方案1】:

您需要使用presence 频道。如上所述,这些频道也是私有的:

所有出席频道也是私人频道

您可以使用.join 设置在线状态频道。

Echo.join(`chat.$roomId`)
    .here((users) => 
        //
    )
    .joining((user) => 
        console.log(user.name);
    )
    .leaving((user) => 
        console.log(user.name);
    );

在那里你可以访问你正在寻找的回调。

【讨论】:

我认为这根本没用,因为我使用的是客户端 Socket.io node.js 你正在使用 socket.io 作为你的广播者。那是完全不同的东西。 我在我的问题中提到了它。不幸的是,这不是答案。

以上是关于是否有任何关于休假、加入、输入 vue.js 的回调?的主要内容,如果未能解决你的问题,请参考以下文章

关于Vue.js去掉#号路由

关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

QLineEdit 上的活动休假

Vue.JS、React 或 Angular 是跨平台的吗?

前端技术之:Vue.js应用回退或刷新界面时提示用户保存修改

在 vue.js 中使用 hasClass