@kirill98402
starter fron-end dev

Как запись данных в массив в Vuex store и получить данные из этого массива в другом компоненте?

У меня есть два компонента: 1-й - таблица с полями по которым я кликаю и заношу данные в массив - но пока это работает только локально; 2-й - компонент, в котором в карточках нужно отобразить данные из этого массива. Было принято решение что нужно использовать Vuex store, но данные не записываются в массив в store.

Вот действие по которому записываются данные в локальный массив:

<md-table v-model="devices" md-card @md-selected="onSelect">
      <md-table-row slot="md-table-row" slot-scope="{ item }" :md-disabled="item.named.includes('Stave')" md-selectable="multiple" md-auto-select>
        <md-table-cell md-label="Выбрать все устройства">{{ item.named }}</md-table-cell>
      </md-table-row>
    </md-table>

Вот метод, который пишет данные в массив локальный так и store массив note (скорее всего не верно):

onSelect (items) {       
        this.selected = items
        this.note = this.selected
        сonsole.log(note)
      }

Вот store:

const store = new Vuex.Store({
    state: {
        notes: []
    },
    actions: {
        addNote({commit}, note) {
            commit('ADD_NOTE', note)
        }
    },
    mutations: {
        ADD_NOTE(state, note) {
            state.notes.push(note)
        }
    },
    getters: {
        notes(state) {
            return state.notes
        }
    },  
    modules: {
    
    }
})

new Vue ({
    el: '#checkboxmenu',
    store,
    computed: {
        notes() {
            return this.$store.getters.notes;
        }
    },
    methods: {
        addNew() {
            this.$store.dispatch('onSelect')
        }
    }
})
  • Вопрос задан
  • 459 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы