Я решил это с помощью своего собственного небольшого хранилища данных, это очень простой подход, но он работает достаточно хорошо для меня без необходимости погружаться в Vuex.
Сначала я создаю свое хранилище данных где-то перед инициализацией чего-либо еще.
window.globalData = new Vue({
data: {
$store: {}
},
});
После этого я добавляю глобальный Mixin, который позволяет получать и устанавливать данные в глобальное хранилище.
Vue.mixin({
computed: {
$store: {
get: function () { return window.globalData.$data.$store },
set: function (newData) { window.globalData.$data.$store = newData; }
}
}
});
Затем каждый компонент может получить доступ к хранилищу данных с помощью this.$store
.Вы можете проверить рабочий пример здесь:
https://codesandbox.io/s/62wvro7083