Проблема реактивности 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);
Подробнее здесь.