@stanislavkm

Как отправить внесенные в state изменения?

Есть state в котором хранятся item (товары).
Есть таблица, в которой отображены все item.
<tr v-for="item in this.$store.state.items" :key="item.name"
        >
...

Как после добавления, редактирования или удаления новой записи (item) сохранить изменения в state, чтобы при перезагрузке данные не менялись? Думаю, что нужно добавлять что-то в мутациях после совершения изменений.
пример с добавлением новой записи:
mutations: {
...
        SET_PRODUCT_TO_STATE: (state, item) =>{
            let cloneItem = {...item}
            state.items.push(cloneItem);
            alert('Товар добавлен!');
        },
...
}
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
@xcuube
Нужно использовать мутации в связке с событиями:
mutations: {
    setCards: (state, payload) => {
      state.data = payload;
    },
  },
  actions: {
    cardsFromDb ({ state, commit, rootState }) {
      Vue.http.get(`${rootState.apiUrl}cards`).then(response => {
        commit('setCards', response.data);
      }, response => {
        // error callback
      });
    }   
  }


Мутация вызывается из события, а событие из вашего компонента.
Ответ написан
Ваш ответ на вопрос

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

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