Проблема реактивности Vue js при обновлении объектов внутри массива, используемого в v-for

У меня есть приложение, использующее vue.js. Я генерирую список результатов, используя v-for в массиве объектов. когда я обновляю объект внутри n-го элемента в массиве, используя подчеркивание _.extend, представление project не обновляется. Существует решение этой проблемы в http://vuejs.org/guide/reactivity.html что указывает на использование _.расширьте вот так:

this.results.displayed[key] = _.extend({}, this.results.displayed[key], detail.items);

но проблема в том, что когда я использую extend, как он сказал, он не обновляет представление.

1 ответов


Vue не может обнаружить изменение при установке нового элемента по индексу массива. Чтобы обойти это, вы можете использовать $set() метод, который Vue добавляет в массив.

var newObject = _.extend({}, this.results.displayed[key], detail.items);
this.results.displayed.$set(key, newObject);

Подробнее здесь.