0

我有一个值表,我需要对行和列进行总计。行总计很简单computed observable并且工作正常,但computed observables用于存储列总计的数组不会更新。

在我的示例中,当更改网格中的值时,monthTotals 数组不会更新。

为什么这些更改不更新?我应该以不同的方式做这件事吗?

http://jsfiddle.net/MYMtH/5/

4

3 回答 3

2

monthNumber in 的值val += parseFloat(self.resourceCategories[i].monthAmounts[monthNumber].amount());始终设置为其最后一个值 (11),因为 computed 在事后评估,并使用为 monthNumber 设置的最后一个值。

这是一个更新的 jsfiddle,计算更改为需要一个月才能计算的常规函数​​:

http://jsfiddle.net/MYMtH/7/

于 2012-04-13T21:06:14.023 回答
1

Tuan 关于您当前使用 monthNumber 导致问题的原因是正确的。如果要保留当前样式,可以将 MonthTotal 封装在一个单独的对象中,该对象将保留计算重新计算时的月份编号:

http://jsfiddle.net/jearles/MYMtH/8/

于 2012-04-14T14:36:38.273 回答
0

更新

我又看了你的代码,想知道哪里出了问题。在 JS 小提琴中,这就是我所看到的:

在此处输入图像描述

它应该显示什么?

你应该看看

https://github.com/ericmbarnard/KoGrid

于 2012-04-13T20:18:55.680 回答