У меня есть немного кода, над которым я работаю, является частью более крупного бюджетного приложения. Этот бит позволяет использовать некоторые повторяющиеся еженедельные расходы, и приложение будет вычислять ежемесячные суммы на основе ввода. Все работает, кроме обновления ежемесячной суммы в таблице при редактировании существующей записи. Функция удаления работает, обновляет общие ежемесячные еженедельные расходы, и добавление новой записи делает то же самое.KO Вычисленная переменная не будет обновляться
Еженедельная сумма в таблице исходит от self.weeklyExpense = new weeklyExpense();
. Этот объект создается со следующей внешней функцией.
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);
})
}
}
я сузил проблему вплоть до переменной this.monthlyAmount = ko.computed
, он не обновляется, когда изменения monthlyAmount. Я проверил в отладчике, что weeklyAmount
меняется, но вычисляемая переменная не обновляется. Любая помощь будет принята с благодарностью.
Вот ссылка на рабочий пример JS Fiddle.
Спасибо, что это было –