к примеру надо посчитать тотал, пробовал два варианта, какой из них более правильный или оба не правильны, почему не рекомендуется изменять напрямую данные ?
1 вариант (использую methods)
handlerSubtotal() {
return (this.order.subtotal = this.orderItems
.reduce((a, b) => a + b.ExtendedPrice, 0)
.toFixed(2));
},
2 вариант (computed)
handlerSubtotal() {
const subtotal = this.orderItems
.reduce((a, b) => +a + +b.ExtendedPrice, 0)
.toFixed(2);
this.$store.commit("order/SET_SUB_TOTAL", subtotal);
return this.order.subtotal;
},
мутировать что б не потерять реактивность вроде как
оба варианта работают без ошибок, хочу для себя прояснить как правильней а как лучше не делать
у тебя this.order.subtotal в сторе?
да order я через getter беру в компоненте
Напрямую ты меняешь this.order.subtotal в компоненте, попробуй консоль логнуть со стейта или с геттера order.subtotal после вычесления по моему он не поменяется
он меняется если я делаю в methods если делать через computed то для обновления мутацию вызвать или через this.$set
в стейте меняется? лол
Да меняется
Перечитаю доку, спасибо
Обсуждают сегодня