为什么Knockout为具有相同值的所有行填充列?

问题描述:

下面是一些省略的小提琴:​​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

回答

这是一个更新的小提琴,'作品',我猜 - 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

这些正是我所做的改变。感谢您将它汇总为一个答案。你会打勾。 :) –

相关问题

这是一个更新的小提琴,'作品',我猜 - 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

这些正是我所做的改变。感谢您将它汇总为一个答案。你会打勾。 :) –

这是一个更新的小提琴,'作品',我猜 - 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

这些正是我所做的改变。感谢您将它汇总为一个答案。你会打勾。 :) –