我有一个值表,我需要对行和列进行总计。行总计很简单computed observable
并且工作正常,但computed observables
用于存储列总计的数组不会更新。
在我的示例中,当更改网格中的值时,monthTotals 数组不会更新。
为什么这些更改不更新?我应该以不同的方式做这件事吗?
我有一个值表,我需要对行和列进行总计。行总计很简单computed observable
并且工作正常,但computed observables
用于存储列总计的数组不会更新。
在我的示例中,当更改网格中的值时,monthTotals 数组不会更新。
为什么这些更改不更新?我应该以不同的方式做这件事吗?
monthNumber in 的值val += parseFloat(self.resourceCategories[i].monthAmounts[monthNumber].amount());
始终设置为其最后一个值 (11),因为 computed 在事后评估,并使用为 monthNumber 设置的最后一个值。
这是一个更新的 jsfiddle,计算更改为需要一个月才能计算的常规函数:
Tuan 关于您当前使用 monthNumber 导致问题的原因是正确的。如果要保留当前样式,可以将 MonthTotal 封装在一个单独的对象中,该对象将保留计算重新计算时的月份编号: