我已经开发了一个仪表板,可以通过自定义事件获取实时通知。我想实现的是能够在频道之间切换。我正在使用Vue(x)作为前端。
created() {
this.setTeam(this.$router.currentRoute.name);
this.clearFastlanes();
this.getSprintInfo('getSprintInfo');
window.Echo.channel(this.getTeam)
.listen('.jira.issue', this.jiraIssue)
.listen('.jira.fastlane', this.jiraFastlane);
},
这是我订阅自定义事件的主要组件。唯一的是,此组件也被另一个团队使用。所以我想将频道更改为当前团队(离开当前频道并加入新团队的频道)。我真的找不到如何在互联网上做到这一点。
这是我的联系方式:
window.Echo = new Echo({
broadcaster: 'pusher',
key: '29564c255fe1dae3654b',
cluster: 'eu',
encrypted: true,
});
因此,基本上我想问laravel echo,如果我当前已连接,是否已离开频道并连接到新团队。
有人对如何实现这一目标有任何想法吗?
答案 0 :(得分:1)
用于连接:
window.Echo.connector.pusher.connection.bind('connected', () => {
console.log('connected');
});
对于断开连接:
window.Echo.connector.pusher.connection.bind('disconnected', () => {
console.log('disconnected);
});
答案 1 :(得分:0)
在这里,您可以侦听“连接”,“断开连接”和“重新连接”事件。
连接:
window.Echo.connector.socket.on('connect', () => {
//your code
});
断开连接:
window.Echo.connector.socket.on('disconnect', () => {
//your code
});
重新连接:
window.Echo.connector.socket.on('reconnecting', (attemptNumber) => {
//your code
console.log(`%cSocket reconnecting attempt ${attemptNumber}`, 'color:orange; font-weight:700;');
});