Добавление пары ключ-значение в массив Vuex не полностью обновляется - PullRequest
0 голосов
/ 24 марта 2020

Я создаю инструмент, который генерирует предложение, и на последней странице (резюме) я вызываю функцию listIngredients () внутри созданного хука жизненного цикла:

computed: mapState({'options': 'manifestOptions'}),
methods: {
    listIngredients() {
        // ... list all ingredients from the manifest and put them in this.ingredients
        Object.keys(this.ingredients).forEach(i => {
            this.$set(this.options.purchaseObligations, i, {'kg': 0, 'consumptions': 0})
        })
    }
}

Итак, после перечисления всех ингредиентов я l oop через их идентификаторы и попытаться добавить эти идентификаторы (в качестве ключа) к $store.state.manifestOptions.purchaseObligations, указав в качестве значения объект (кг, потребление).

Если я утешу журнал массива buyObligations после добавления всех идентификаторы, это показывает, что они все добавлены. НО это все еще говорит Массив (0) . И это актуальная проблема, с которой я сталкиваюсь. Из-за этого я не могу использовать список массивов в моем шаблоне, потому что он все еще думает, что массив пуст.

enter image description here

РЕДАКТИРОВАТЬ : я не добавлял индексы по назначению, поэтому ответ @Alex Brohshtut мне не очень помог. НО Мне удалось решить проблему , инициализировав purchaseObligations как пустой объект вместо пустого массива. Я все еще не уверен, что это правильный способ исправить это.

...