我有一個值的表,我需要在行和列上的總數。行總數是一個簡單的computed observable
並且工作正常,但用於存儲列總數的computed observables
數組不會更新。使用Knockout,爲什麼不是我的計算的observables數組更新?
在我的示例中,當更改網格中的值時,monthTotals數組不會更新。
爲什麼不更新這些更改?我應該這樣做嗎?
我有一個值的表,我需要在行和列上的總數。行總數是一個簡單的computed observable
並且工作正常,但用於存儲列總數的computed observables
數組不會更新。使用Knockout,爲什麼不是我的計算的observables數組更新?
在我的示例中,當更改網格中的值時,monthTotals數組不會更新。
爲什麼不更新這些更改?我應該這樣做嗎?
monthNumber的val += parseFloat(self.resourceCategories[i].monthAmounts[monthNumber].amount());
的值總是被置於其最後的值(11),因爲事後計算求值,並且使用最後一個值集爲monthNumber。
這裏是一個更新的jsfiddle與計算改爲普通函數,它在一個月計算:
它初始化正常,但如果更改網格中的值,則列總數不會更新。 – Homer 2012-04-13 20:37:41
摶是正確的,爲什麼你當前使用monthNumber是造成問題。如果你想保留當前的風格,你可以在一個單獨的對象,它會保留在計算機重新計算月數封裝MonthTotal:
我喜歡你的榜樣,謝謝! – Homer 2012-04-17 13:18:28
我應該排在HTML中顯示? – 2012-04-13 20:36:12
6000最初,但隨後應更新值,因爲您更改網格中的值 – Homer 2012-04-13 20:56:46