Как правильно хранить нереактивные и статические данные в vue?

#javascript #vue.js #vuejs2 #data-storage

Вопрос:

Приветствую сообщество! Это мой первый вопрос о стековом потоке.

Я использую vue.js-v2 и webpack. Мне нужны неизменяемые данные, доступные для дочерних компонентов. Компоненты загружаются через vue-маршрутизатор. Разные страницы нуждаются в одних и тех же данных.

Я импортирую данные из файла JSON и интегрирую их в vue с помощью «main.js»:

 //main.js
import Vue from 'vue'
import ...
import myData from './path/file.json' // [{},{},{}...]
Vue.prototype.$storage = myData
new Vue({ router, .....
 

Затем я использую в разных компонентах что-то вроде:

 //pageX.vue
...
this.componentVar = this.$storage.filter((x) => x.name === 'needName')
 

И каким-то образом это работает. Я беспокоюсь, правильно ли я поступаю. Я боюсь дублирования данных в компонентах или чего-то подобного, потому что мои знания javascript плачевны 🙁

Ответ №1:

Вы должны использовать Vuex для хранения этих данных.. неизменное или нет состояние приложения имеет единственный абсолютный источник истины, и никакая альтернатива по сравнению с vuex не может помочь вам в этом случае

Комментарии:

1. Спасибо, это все еще слишком сложно для меня и для моего проекта.