У меня есть этот массив объектов.
[
{
"id":181,
"user_id":"3",
"order_details":
[
{"id":164,
"order_id":"181",
"quantity":"1",
"price":"5.00"
},
{"id":163,
"order_id":"181",
"quantity":"6",
"price":"10.00"
}
]
}
]
Это товары для заказа из корзины. Я хочу рассчитать общую сумму для каждой детали заказа, используя price * quantity
.
У меня есть эта функция в вычисляемом свойстве компонента.
total: function(){
for (var i=0; i< this.invoice.length; i++){
for(var j=0; j<this.invoice[i].order_details.length; j++){
return this.invoice[i].order_details[j].price * this.invoice[i].order_details[j].quantity;
}
}
}
Это возвращает одинаковую сумму для всех элементов в order_details. Что мне не хватает? Это правильный способ сделать это в vue?
ОБНОВИТЬ
Мне нужно отобразить данные следующим образом:
<tr v-for="item in order.order_details">
<td>{{item.quantity}}</td>
<td>{{item.product.price}}</td>
<td>{{total}}</td>
</tr>
Поэтому я ожидаю, что для каждой детали заказа функция должна запускаться и возвращать price * quantity
Пример вывода:
## Qty | Price | Total
## 2 | 5 | 10
## 3 | 5 | 15