Я пытаюсь подытожить пару свойств в объекте. Я использую VueJS-фильтр, в сочетании с функцией уменьшения ES5, чтобы добавить числа, чтобы получить общее количество.Как подсчитать значения в массиве объектов json? (В VueJS)
Ну, в данный момент он не работает. Кто-то хочет помочь мне?
new Vue({
el: '.app',
data: {
products: [{
"pid": "37",
"pname": "Reprehenderit",
"price": "4.29",
"amount": "1"
}, {
"pid": "45",
"pname": "Sit",
"price": "1.00",
"amount": "4"
}, {
"pid": "67",
"pname": "Omnis",
"price": "7.00",
"amount": "2"
}],
}
});
Vue.filter('subtotal', function (list, key1, key2) {
return list.reduce(function(total, item) {
return total + item.key1 * item.key2
}, 0)
})
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.11/vue.min.js"></script>
<div class="app">
Product example: {{ products[0].pname }}
<br><br>
Total: {{ products | subtotal 'price' 'amount' }}
</div>
Спасибо! Полный и очень четкий ответ :) Не знал, что мне нужно сначала запустить фильтр ... – Milkmannetje