【问题标题】:Recursion using ng-include and ng-repeat doesn't work after first level使用 ng-include 和 ng-repeat 的递归在第一级之后不起作用
【发布时间】:2017-01-17 00:55:06
【问题描述】:

我想递归一个对象来填充一个表。

为此,我使用ng-includeng-repeat 遍历对象并为每个新元素创建一个新的<tr>,但它在第一级之后失败。

http://jsfiddle.net/Lsbect13/

【问题讨论】:

  • 您的 <table> 结构看起来无效。尝试用<div>s 替换所有<table><tr><td> 等,你会看到它以递归方式呈现。

标签: javascript angularjs recursion ng-repeat angularjs-ng-include


【解决方案1】:

您正在创建新数组而不是新对象。试试这个:

  "nodes": [{
  "name": "Level 1",
  "att1": "att1-level1",
  "att2": "att2-level1"},
    {"name": "Level 2",
    "att1": "att1-level2",
    "att2": "att2-level2"},
    {
      "name": "Level 3A",
      "att1": "att1-level3a",
      "att2": "att2-level3a"}
    , {
      "name": "Level 3B",
      "att1": "att1-level3b",
      "att2": "att2-level3b"
    }]

it works!

【讨论】:

  • 嗨,Joey,其中一个挑战是创建新对象并找到递归它的方法。我无法更改对象的外观,因为它来自服务器
  • @HugoNakamura 你能在它进入 ng-repeat 之前对其进行编辑吗?
  • 可能,是的...这不是我制作扁平化功能的计划,但我想这将是解决方案。我试图有一些类似的解决方案:jsfiddle.net/V9a2Z
  • 我唯一的其他建议是使用
猜你喜欢
  • 2018-03-27
  • 2014-09-14
  • 2017-11-24
  • 2014-01-22
  • 2016-01-20
  • 2015-12-22
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多