Доброго времени суток.
Пытаюсь создать web-приложение при помощи vue.js? в котором на одной и той же странице в зависимости от значения переменной будет выдаваться либо интерфейс приложения, либо окно входа. В приложении используется socket.io на серверной стороне и vue-socket.io на клиентской.
Проблема в следующем - при первоначальной загрузке страницы vue-socket.io пытается подключиться к серверу, тот в свою очередь проверяет наличие сессии и если её нет, отказывает в подключении. После же ввода логин и пароля создается сессия, но не получается запустить повторную попытку подключения к серверу.
Пробовал выполнять различные команды vue-socket.io, такие как - this.$socket.connect(), this.$socket.emit('message'), this.$socket.open(). Но ничего не происходит. При этом, если обновить страницу, то соответственно vue-socket.io делает новый запрос к серверу, который заканчивается успехом и открывается интерфейс приложения.
Первоначальное подключение происходит следующим способом:
import VueSocketio from 'vue-socket.io';
Vue.use(VueSocketio, '/', store);
Вопрос собственно в том, как vue-socket.io заставить выполнить повторную. попытку подключения к серверу, после ввода логина и пароля?
P.S. Пользуясь моментом хотел бы узнать, можно ли из vuex делать socket.emit запросы? Так как в данный момент, чтобы узнать, что подключение уже установлено в самом приложении выполняю this.$store.subscribe() с проверкой того какая мутация выполнена. Или использование this.$store.subscribe() все таки правильный подход?