Ich versuche, einige Getter zu programmieren, um eine Teilgesamtmenge und eine Stückzahl zu berechnen. Aber wenn ich den Code für die Verwendung von array.reduce umstrukturiert habe, hat partTotal undefined zurückgegeben.Vuex Getter und Array reduzieren
Können Sie mir helfen, zu wissen, warum dies funktioniert:
getters: {
calcPart: (state, getters) => part => {
let total = 0.0
for (let i = 0, length = part.items.length; i < length; i++) {
total += getters.calcItem(part.items[i])
}
return total
},
calcItem: state => item => {
return parseFloat(item.value1) * parseFloat(item.value2)
},
}
Und warum das nicht funktioniert (calcPart gibt „undefined“):
getters: {
calcPart: (state, getters) => part => {
return part.items.reduce((acc, item) => { acc + getters.calcItem(item) }, 0.0)
},
calcItem: state => item => {
return parseFloat(item.value1) * parseFloat(item.value2)
},
}
Hat es etwas mit der Tatsache zu tun, von reduzieren ist eine asynchrone Funktion?
Vielen Dank im Voraus!
Schön! Es funktioniert jetzt! Vielen Dank! –