Vue не реагирует на изменения объекта

183
07 сентября 2018, 22:00

Я тут учу vue и пишу простенький магазин для практики. И не могу понять почему не обновляется корзина, то есть обновляется объект cart, но в разметке не выводится. Знаю что туго объясняю...

data: {
    goods: goods,
    cart: {} // не обновляется в разметке...
}

Можете посмотреть, там мало кода https://jsfiddle.net/28pegb9n/2/

Answer 1

Если я правильно понял, то это связано с тем, что Vue не может отследить добавление или удаление свойств реактивного объекта.

Для добавления свойств в реактивный объект необходимо использовать Vue.set( target, key, value )

В вашем коде:

this.$set(this.cart, index, {
    id: index,
    name: this.goods[index].name,
    price: this.goods[index].price,
    img: this.goods[index].img,
    number: 1
});

JSfiddle с изменениями

READ ALSO
Как правильно подключить скрипт js(es6), чтобы Security Policy не ругался?

Как правильно подключить скрипт js(es6), чтобы Security Policy не ругался?

Refused to connect because it violates the following Content Security Policy directive: "default-src 'self'"Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback

244
Вопрос по цепочке промисов

Вопрос по цепочке промисов

Все не перестаю удивляться кастомизации JSOбъясните, почему в данном коде:

208