【问题标题】:Knockout mapping for nested json嵌套 json 的敲除映射
【发布时间】:2013-08-02 04:40:35
【问题描述】:

我试图创建一个 json 模式查看器和编辑器。我需要将动态生成的嵌套 json 显示为嵌套表,并且必须能够编辑它们或添加新的。为此,我试图将嵌套的 json 映射到可观察的淘汰赛并将它们显示为嵌套表

JSBin sample

但是我没有映射它,谁能帮我正确映射它并帮我将子表安排为下一个'tr'。

我没有收到任何错误,但没有显示值。

【问题讨论】:

  • 'amakhrov' 的答案是正确的,但任何人都可以更新我需要的结果的答案:'有没有办法将扩展后的行作为新行?这样它就不会向左延伸 bt 将显示在另一个下方 '
  • 为什么会有反对票和投票结束这个问题?需要解释一下吗?

标签: javascript jquery knockout.js knockout-mapping-plugin


【解决方案1】:

代码绝对不干净,但似乎可以工作:http://jsfiddle.net/ezg5U/

基本上,我会跟踪 json 数据中的路径并动态设置 KO 绑定,例如

data-bind="'text: values()[0]._values()[1].key'"

textarea 元素也具有“value:”绑定,因此将更新的数据存储在视图模型中。

表格下方的DIV会自动更新,并显示嵌套键的值:vm.values()[0]._values()[0].key() - 所以你可以看到模型实际上是更新的当用户更改值时。

【讨论】:

  • 谢谢哥们。有什么办法可以将扩展后的行作为新行?这样它就不会向左延伸 bt 将显示在另一个下方
  • 我使用的数据是动态生成的,所以当数据不同时,这段代码就会崩溃:(
  • 它是一个 3 级数据。数据可以达到“n”个级别
  • 问题不在于关卡的数量。这是因为这个 json 中的键不是有效的 JS 变量名。我更新了代码来解决这个问题:jsfiddle.net/ezg5U/1
  • 是的,谢谢,我也看到了。但我仍然无法保存它。如果我在一个地方编辑“Allowances&DAId”的值,它也会在另一行发生变化。
猜你喜欢
  • 2012-12-14
  • 2013-09-22
  • 2012-08-14
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
相关资源
最近更新 更多