0

行と列の合計が必要な値のテーブルがあります。行の合計は単純computed observableで正常に機能しますが、列の合計を格納するために使用される配列はcomputed observables更新されません。

私の例では、グリッドの値を変更しても、monthTotals配列は更新されません。

これらの変更が更新されないのはなぜですか?これを別の方法で行う必要がありますか?

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

4

3 に答える 3

2

計算されたものは事後に評価され、monthNumberに設定された最後の値を使用するため、 inのmonthNumberの値val += parseFloat(self.resourceCategories[i].monthAmounts[monthNumber].amount());は常に最後の値(11)に設定されます。

これは、計算されたjsfiddleが、計算に1か月かかる通常の関数に変更された更新された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 に答える