Vuex commit фиксирует только последнее значение массива из ответа

Здесь я внес некоторые изменения в ваш код.

Нажмите здесь, чтобы посмотреть

Start typing ...
.sticky-footer { position:sticky; bottom:0; padding:20px 0; background:#eee } .editableContent{ min-height: 30px; overflow: auto; max-height: 50px; }

0
задан Daniel Beck 19 January 2019 в 13:27
поделиться

1 ответ

https://vuejs.org/v2/guide/reactivity.html#Change-Detection-Caveats

Vuex - это плагин Vue, поэтому реактивность состояния Vuex следует той же правила как реактивная собственность в Vue. В вашем случае, так как свойство, которое вы обновляете, является массивом объектов, Vue обнаруживает только изменения в размере массива, а не детали каждого элемента в массиве. Поэтому, если вам нужно инициировать обновления в слое представления, вы должны использовать вместо этого Vue.set:

import Vue from 'vue'

...

fetchVotes(state, payload) {
  Vue.set(state, 'votes', payload)
},

, а если вам нужно удалить элементы из вашего массива, используйте Vue.delete вместо delete.

0
ответ дан blaz 19 January 2019 в 13:27
поделиться
Другие вопросы по тегам:

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