Knockout.js 剔除计算和

Knockout.js 剔除计算和,knockout.js,knockout-mapping-plugin,Knockout.js,Knockout Mapping Plugin,我从WCF接收数据并将其绑定到表。我在这个论坛上得到了帮助,添加了一些计算字段,一切都很完美。我想在这张表的页脚加一个总数。我的页面的简单版本可以在上看到。基本上,我想学习如何将一个字段添加到我的ViewModel中,该字段是示例“Amount”中另一个字段总和的结果。任何帮助都将不胜感激。 在您的小提琴中,您正在将数据集映射到self.model,因此self.model是一个。既然是这样,我只需要把a放在一起就可以得到你的总数 self.total=ko.computed(函数(){ va

我从WCF接收数据并将其绑定到表。我在这个论坛上得到了帮助,添加了一些计算字段,一切都很完美。我想在这张表的页脚加一个总数。我的页面的简单版本可以在上看到。基本上,我想学习如何将一个字段添加到我的ViewModel中,该字段是示例“Amount”中另一个字段总和的结果。任何帮助都将不胜感激。

在您的小提琴中,您正在将数据集映射到self.model,因此self.model是一个。既然是这样,我只需要把a放在一起就可以得到你的总数

self.total=ko.computed(函数(){
var合计=0;
对于(var p=0;p
然后一定要把它绑起来

<td data-bind="text: total">


您的操作有点落后,但我认为这是由于您接收数据的方式造成的,因此我处理了它并继续前进。

虽然我通常建议并支持将这些类型的计算字段放入视图模型中(因为它们通常属于视图模型),有时,在处理数据时,很难添加额外的计算属性。例如,如果在视图中对数据进行分组。在这种情况下,您仍然可以显示总计,但可以将计算移动到视图:

<td data-bind="text: $data.reduce(function(x,y) { return x + y.Amount(); }, 0)"></td>

非常感谢我开始理解淘汰赛的逻辑,感谢这里令人敬畏的专家团队。
<td data-bind="text: $data.reduce(function(x,y) { return x + y.Amount(); }, 0)"></td>