行と列の合計が必要な値のテーブルがあります。行の合計は単純computed observable
で正常に機能しますが、列の合計を格納するために使用される配列はcomputed observables
更新されません。
私の例では、グリッドの値を変更しても、monthTotals配列は更新されません。
これらの変更が更新されないのはなぜですか?これを別の方法で行う必要がありますか?
行と列の合計が必要な値のテーブルがあります。行の合計は単純computed observable
で正常に機能しますが、列の合計を格納するために使用される配列はcomputed observables
更新されません。
私の例では、グリッドの値を変更しても、monthTotals配列は更新されません。
これらの変更が更新されないのはなぜですか?これを別の方法で行う必要がありますか?
計算されたものは事後に評価され、monthNumberに設定された最後の値を使用するため、 inのmonthNumberの値val += parseFloat(self.resourceCategories[i].monthAmounts[monthNumber].amount());
は常に最後の値(11)に設定されます。
これは、計算されたjsfiddleが、計算に1か月かかる通常の関数に変更された更新されたjsfiddleです。
Tuanは、monthNumberの現在の使用が問題を引き起こしている理由について正しいです。現在のスタイルを保持したい場合は、MonthTotalを別のオブジェクトにカプセル化して、計算が再計算するときの月番号を保持することができます。
アップデート
私はあなたのコードをもう少し見て、何が悪いのか疑問に思っています。JSフィドルでは、これが私が見ているものです。
何を表示する必要がありますか?
あなたは見てみるべきです