Vuejs: вычисляемая опора в объекте

В моем компоненте vuejs у меня есть свойство данных, которое выглядит следующим образом

elementData{
  amount: '',
  unit_price: '',
  total: '',
}

Теперь я хотел бы, чтобы total было вычисляемым свойством, так как я хочу избежать использования наблюдателя по сумме и цене за единицу для последующего обновления итога.

Но по какой-то причине я не могу найти упоминания в документации о глубоких вычисляемых свойствах?

Однако это кажется довольно распространенным вариантом использования.


person Guardian    schedule 10.02.2020    source источник


Ответы (1)


Вы можете использовать его таким образом в вычисляемой секции:

computed:{
 total: function(){
   return this.unit_price * this.amount
 }
}

Помните, что если вы используете строки вместо целых чисел / чисел с плавающей запятой, вы должны использовать методы parseInt или parseFloat, чтобы получить правильный расчет итогов.

person Diego Segovia    schedule 10.02.2020
comment
Да, я в курсе. Я хочу, чтобы он был в this.elementData; - person Guardian; 11.02.2020
comment
Если вы хотите, чтобы это было в elementData, вы можете использовать метод для изменения итогового значения и вызывать его каждый раз, когда вы хотите его изменить. Что касается меня, нет другого способа реактивно изменить значение без свойства computed или watch. - person Diego Segovia; 11.02.2020