Knockout.js复杂表数据绑定

时间:2013-11-25 16:37:11

标签: javascript json knockout.js

我对knockout.js还是个新手并且遇到以下问题:

http://jsfiddle.net/ToastedSoul/wAyY7/

<td>
    <!-- what to put here? -->
</td>
...
"TableEntrySet":[
              {
                 "DisplayCode":"A",
                 "ColumnCode":"A4",
                 "RowCode":"L1",
              },

我从服务器获取JSON数据,并希望使用某些表可视化日期。标有“level b text x.y”的表格应包含正确单元格中“DisplayCode”的值(第一个表格:“A4 / L1”为“A”,“A4 / S1”为“A”)。数据永远不会包含单个单元格的多个条目。

“汇总表”应该可视化彼此叠加的所有先前表格。所以在这里,可能存在单个单元格接收多个值的情况(在我的小提琴中:“A4 / S1”将获得“A”和“V”,“A3 / S4”将获得“2V”或“VV”)< / p>

我正在寻找一种优雅的方式来填充这些表格。

由于我将不得不在后面设置表格的某些列/行/区域,我真的不需要像我在小提琴中那样创建它们(但如果这也是可能的,为什么不呢!)。

如果这对你来说太容易了 - 淘宝: 如果我想在页面按钮“previous”和“next”上只有一个表来浏览所有填充的表(包括摘要表),该怎么办?

1 个答案:

答案 0 :(得分:0)

您的问题是您正在为最内层的RowNames可观察数组创建数据。每个淘汰赛foreach都是上下文的:它只传递您传入的数据。两个例外是$parent,这使您可以访问直接父foreach的数据(如果存在),$root ,使您可以访问视图模型。这里没有人能真正帮到你,因为你需要的数据在根视图模型的列表中。您可能可能}尝试拔出另一个列表中的正确成员,但这假设您的$index数组并且它具有匹配的索引,这可能是不是这样的。

一般来说,这里最好的选择是简单地重构,这样你实际上就可以使用你想要使用的数据而不是RowNames,并找到获取行标题值的另一种方法。