@vetsmen

Почему не обновляется список при изменении данных во Vue?

Есть вычисляемое свойство:
computed: {
			selectedData() {
				let items = this.selectedItems;
				let itemsLength = Object.keys(items).length;
				if(itemsLength < 8) {
					for(let i = 1; i <= (8 - itemsLength); i++) {
						items[-i] = {};
					}
				}
				return items;
			}
		}

Есть список:
<div v-for="item in selectedData">
					<span class="number">{{ item.title }}</span>
				</div>


При изменении this.selectedItems метод selectedData не срабатывает. В чем проблема?
  • Вопрос задан
  • 2506 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Vue не отслеживает добавления свойств объектов. Назначайте значения свойств selectedItems с помощью $set.

Т.е., вместо

this.selectedItems[itemName] = item

делайте так

this.$set(this.selectedItems, itemName, item)

Ну и соответственно, $delete - для удаления свойств.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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