Ich habe ein bisschen Code, an dem ich arbeite, das Teil einer größeren Budgetanwendung ist. Mit diesem Bit können einige wiederkehrende wöchentliche Ausgaben eingegeben werden, und die App berechnet monatliche Summen basierend auf der Eingabe. Alles funktioniert, außer der Aktualisierung des Monatsbetrags in der Tabelle beim Bearbeiten eines bestehenden Eintrags. Die Funktion löscht die monatlichen Gesamtkosten pro Woche und das Hinzufügen eines neuen Eintrags funktioniert genauso.KO Berechnete Variable wird nicht aktualisiert
Der wöchentliche Betrag in der Tabelle kommt von self.weeklyExpense = new weeklyExpense();
. Dieses Objekt wird mit der folgenden externen Funktion erstellt.
function weeklyExpense(data) {
if (!data) {
this.name = ko.observable();
this.weeklyAmount = ko.observable('0.00');
this.monthlyAmount = ko.observable('0.00');
} else {
this.name = ko.observable(data.name);
this.weeklyAmount = ko.observable(data.weeklyAmount);
this.monthlyAmount = ko.computed(function() {
console.log(data.weeklyAmount);
var temp = data.weeklyAmount;
return total = (Number(temp) * 4.4).toFixed(2);
})
}
}
ich das Problem verringert haben bis auf die this.monthlyAmount = ko.computed
Variable, es wird nicht aktualisiert, wenn die monthlyAmount Änderungen. Ich habe im Debugger überprüft, dass sich die weeklyAmount
ändert, aber die berechnete Variable wird nicht aktualisiert. Jede Hilfe würde sehr geschätzt werden.
Hier ist ein Link zu einem funktionierenden JS Fiddle Beispiel.
Danke das war es –