senefu: Необязательно, можно ref использовать, но в любом случае чтобы вам из одного компонента передать в другой они должны существовать, поэтому передачу можно делать не ранее чем в событии mounted: https://codepen.io/kerf/pen/awPmzX
Тут вроде все есть: https://ru.vuejs.org/v2/api/#data.
Все что сидит в data компонента можно получить либо через $data либо при обращении просто к экземпляру из-за проксирования. В примере выше получаем экземпляр объекта через ref и обращаемся к его свойству(которое было проксировано из data)
Можно через ref, типа такого: https://codepen.io/kerf/pen/eRbZPz.
Если у вас одни и те же данные используют различные компоненты, имеет смысл vuex использовать.
Как вариант определить, что это мобильный браузер и изменить поведение на необходимое. Вообще то, что вы пытаетесь сделать не своем юзер френдли имхо. Т.к. человек видит, что к него задизаблена прокрутка и он может просто не догадаться покрутить колесом.
Посмотрите, тогда все равно исходники либы, потому что делать придется примерно тоже.
1. Можно сделать vue плагин, зарегистрировать объект сокета и далее в каждом компоненте использовать этот объект.
2. Если используется vuex и предполагается весь обмен через него осуществлять, то можно сделать отдельную либу-клиента и в экшенах vuex ее использовать.