为什么Knockout为具有相同值的所有行填充列?
下面是一些省略的小提琴:3210为什么Knockout为具有相同值的所有行填充列?
基本上需要获取下面的图像只需编辑第一行。出于某种原因,Knockout正在填充该列下的所有行,并具有相同的值。它发生在amount
,nrAmount
,当然还有计算的total
列。没有其他列有这个问题。
这是有趣的是,改变从amount
的结合$data.amount
具有使计算列nrAmount
不再起作用的效果,但它不会导致所有的行得到填充。
这究竟是为什么以及如何解决呢?
这是一个更新的小提琴,'作品',我猜 - http://jsfiddle.net/YwTBk/2/。您对问题的描述与您所提及的小提琴不匹配,因此很难说清楚。
更大的问题我固定如下:
- 作为尼科提到的,你在你的ViewModels的顶部需要
var self = this;
。 - 我在你的viewmodel中移动了addBlankRecord,这样addBlankRecord方法中的
self
引用就可以工作。 - 我更新了populateBlankRecords方法,以便它引用您的视图模型
- 为了您绑定addBlankRecord,我更新的类别和removeRecord至$ parent.categories绑定和$ parent.removeRecord因为那些都在被发现记录视图模型。
还有几个较小的问题,我猜是由于东西被剥离出你的代码。其中一些被其他评论引用。
- 的removeRecord,GetDepartments和GetCategories方法不存在
- 没有表HTML标签
- 有jQuery的或没有引用KnockoutJS
这是否解决问题了吗?如果没有,如果你能提供一个演示问题的小提琴会非常有帮助。
这些正是我所做的改变。感谢您将它汇总为一个答案。你会打勾。 :) –
这是一个更新的小提琴,'作品',我猜 - http://jsfiddle.net/YwTBk/2/。您对问题的描述与您所提及的小提琴不匹配,因此很难说清楚。
更大的问题我固定如下:
- 作为尼科提到的,你在你的ViewModels的顶部需要
var self = this;
。 - 我在你的viewmodel中移动了addBlankRecord,这样addBlankRecord方法中的
self
引用就可以工作。 - 我更新了populateBlankRecords方法,以便它引用您的视图模型
- 为了您绑定addBlankRecord,我更新的类别和removeRecord至$ parent.categories绑定和$ parent.removeRecord因为那些都在被发现记录视图模型。
还有几个较小的问题,我猜是由于东西被剥离出你的代码。其中一些被其他评论引用。
- 的removeRecord,GetDepartments和GetCategories方法不存在
- 没有表HTML标签
- 有jQuery的或没有引用KnockoutJS
这是否解决问题了吗?如果没有,如果你能提供一个演示问题的小提琴会非常有帮助。
这些正是我所做的改变。感谢您将它汇总为一个答案。你会打勾。 :) –
绑定语法对我来说看起来很好。问题似乎在别的地方。由于你的小提琴是不完整的,它可能在缺失的组件。可能是另一个事件,或导致更新的订阅? –
@adaptive我真的省略的唯一事情是填充类和部门可观察数组。我在'
'内也有'',''的定义。所有关于单词“量”的HTML代码和绑定都在那个小提琴中。我在这一段时间里一直困惑不已。我想为它编写一个测试用例。 –你的小提琴根本不工作,你甚至没有包括淘汰赛。 – Niko
回答
这是一个更新的小提琴,'作品',我猜 - http://jsfiddle.net/YwTBk/2/。您对问题的描述与您所提及的小提琴不匹配,因此很难说清楚。
更大的问题我固定如下:
var self = this;
。self
引用就可以工作。还有几个较小的问题,我猜是由于东西被剥离出你的代码。其中一些被其他评论引用。
这是否解决问题了吗?如果没有,如果你能提供一个演示问题的小提琴会非常有帮助。
这些正是我所做的改变。感谢您将它汇总为一个答案。你会打勾。 :) –
相关问题