Привет, ребят. Подскажите - куда капнуть во Vue2.
Есть 2 свойства - price и percent.
Понятное дело они связаны общим расчетом, а также:
Меняем значение одного, сразу же меняется значение другого.
Пасу оба через watch.
При вводе в логах просто жесть.
Вероятно это рекурсия.
Как можно побороть этого зверя?
Тут что-то из коробки использовать или логику менять?
Полагаю, что нужно каким то образом ввести заморозку на вотч, а потом опять вернуть но уже после второго изменения. Но не знаю - как подход называется.
methods: {
recalcPrice() {
this.price = parseInt((this.totalPrice * this.percent) / 100)
//...
},
recalcPercent() {
this.percent = parseInt((this.price * 100) / this.totalPrice)
//...
},
},
watch: {
price: function (val) {
this.recalcPercent(val)
},
percent: function (val) {
this.recalcPrice(val)
},
},