Как прослушать socket в Vue3?
Вот столкнулся с такой проблемой на Vue3.
Есть компонент на Vue3 и Inertiajs.
Нужно поставить `socket client՝․ Я поставил библиотеку vue-3-socket.io.
Сейчас emit нормально работает. Но не могу понять как сделать прослушивание (listeners).
Я сделал и по старому (socket.on(....)), И так как говорится в доке библиотеки.
Но все ровно результат 0.
Может кто то столкнулся с новой библиотекой для Vue3, и сможет подсказать по какому пути мне идти?
Как то у меня нету больше идей.
Вот часть кода который все это должно было делать.
Клиентсякая часть
require('./bootstrap');
import VueSocketIO from 'vue-3-socket.io'
import SocketIO from 'socket.io-client'
// Import modules...
import ......
const el = document.getElementById('app');
createInertiaApp({
resolve: (name) => require(`./Pages/${name}`),
setup({el, app, props, plugin}) {
const appVue = createApp({render: () => h(app, props)})
.mixin({methods: {route}})
.use(plugin)
.use(new VueSocketIO({
debug: true,
connection: SocketIO('http://site.loc:2053'),
vuex: {
store,
actionPrefix: "SOCKET_",
mutationPrefix: "SOCKET_"
}
}))
.use({
sockets: {
connect: function () {
console.log('socket connected')
}
}
})
.use(store)
.mount(el);
}
});
InertiaProgress.init({color: '#4B5563'});
Компонент клиентской части
import { mapGetters } from 'vuex'
export default {
data() {
return {
selected: undefined,
}
},
methods: {
},
updated() {
this.conversionToBottom()
},
mounted(){
this.sockets.subscribe('SOCKET_messageToSupport', (data) => {
console.log(data)
});
},
computed:{
...mapGetters('chats', {
chats: 'chats',
activeChat: 'activeChat'
}),
//........
}
}
А на сервере в node стандартный emit.
socket.emit('SOCKET_messageToSupport', data);