2012-12-20 57 views
0

下面是一些省略的小提琴:​​3210爲什麼Knockout爲具有相同值的所有行填充列?

基本上需要獲取下面的圖像只需編輯第一行。出於某種原因,Knockout正在填充該列下的所有行,並具有相同的值。它發生在amount,nrAmount,當然還有計算的total列。沒有其他列有這個問題。

這是有趣的是,改變從amount的結合$data.amount具有使計算列nrAmount不再起作用的效果,但它不會導致所有的行得到填充。

A column getting filled down with the same value

這究竟是爲什麼以及如何解決呢?

+0

綁定語法對我來說看起來很好。問題似乎在別的地方。由於你的小提琴是不完整的,它可能在缺失的組件。可能是另一個事件,或導致更新的訂閱? –

+0

@adaptive我真的省略的唯一事情是填充類和部門可觀察數組。我在'

'內也有'',''的定義。所有關於單詞「量」的HTML代碼和綁定都在那個小提琴中。我在這一段時間裏一直困惑不已。我想爲它編寫一個測試用例。 –

+0

你的小提琴根本不工作,你甚至沒有包括淘汰賽。 – Niko

回答

0

這是一個更新的小提琴,'作品',我猜 - http://jsfiddle.net/YwTBk/2/。您對問題的描述與您所提及的小提琴不匹配,因此很難說清楚。

更大的問題我固定如下:

  1. 作爲尼科提到的,你在你的ViewModels的頂部需要var self = this;
  2. 我在你的viewmodel中移動了addBlankRecord,這樣addBlankRecord方法中的self引用就可以工作。
  3. 我更新了populateBlankRecords方法,以便它引用您的視圖模型
  4. 爲了您綁定addBlankRecord,我更新的類別和removeRecord至$ parent.categories綁定和$ parent.removeRecord因爲那些都在被發現記錄視圖模型。

還有幾個較小的問題,我猜是由於東西被剝離出你的代碼。其中一些被其他評論引用。

  • 的removeRecord,GetDepartments和GetCategories方法不存在
  • 沒有表HTML標籤
  • 有jQuery的或沒有引用KnockoutJS

這是否解決問題了嗎?如果沒有,如果你能提供一個演示問題的小提琴會非常有幫助。

+0

這些正是我所做的改變。感謝您將它彙總爲一個答案。你會打勾。 :) –

相關問題