当前位置: 首页 > 面试题库 >

ng-repeat未知数量的嵌套元素

李凯定
2023-03-14
问题内容

我想知道是否存在针对此类问题的简单解决方案。

我有一个对象注释,该对象注释又可以包含注释,并且这些注释也可以包含注释…并且此操作可以进行未知数量的循环。

这是数据结构的示例:

var comment = {
   text : "",
   comments: [
      { text: "", comments : []},
      { text: "", comments: [
         { text: "", comments : []},
         { text: "", comments : []}
         { text: "", comments : []}
      ]}
   ]
}

可以说我会写2级评论:

<div ng-repeat="comment in comments">
   {{comment.text}}
   <div ng-repeat="comment in comments">
      {{comment.text}}
   </div>
</div>

我该如何使div的嵌套注释达到“ n”级?


问题答案:

最简单的方法是创建通用部分,以便您可以使用递归调用和呈现它ng-include

<div ng-include="'partialComment.html'" ng-model="comments"></div>

这是局部的:

<ul>
    <li ng-repeat="c in comments">
      {{c.text}}
      <div ng-switch on="c.comments.length > 0">
        <div ng-switch-when="true">
          <div ng-init="comments = c.comments;" ng-include="'partialComment.html'"></div>  
        </div>
      </div>
    </li>
</ul>

数据模型应为列表var comments = [{ ... }]

我为您创建了一个演示,希望对您有所帮助。

**[Demo](http://plnkr.co/edit/SqIzbR6Rgi5qbnAocFf5?p=preview)**



 类似资料:
  • 问题内容: 我有一些虚拟XML文件: 使用此库http://code.google.com/p/x2js/将其转换为json,并转换为变量 Day可以具有任意数量的Job,Job可以嵌套并且包含任意数量的其他Job。 现在使用此代码 我可以列出有效的日期。我希望使用以下代码 我可以列出当天的工作日和最高职位,但这是行不通的。(要列出嵌套的Jobs,将是下一个任务,而不是现在询问该任务)。 那么,如

  • 问题内容: 我有一个JSON对象,表示为: 我需要在 第二 层上做一个中继器,列出“虚假”数字。 我已经知道如何获得最高水平 但是我不清楚循环降级的顺序。例如,这是错误的: 我也知道如何 嵌套 中继器来实现这一点,但是在这种情况下,我根本不需要显示顶层。 澄清说明 这里的目标是有一个带有4个“伪”数字的列表(每个包裹有2个,顺序中有2个包裹)。 问题答案: 大量搜索不错的简单解决方案以进行动态迭代

  • 问题内容: 我有一个水平月历,显示员工每天的活动。 当前它正在使用具有以下层次结构/流程的表 1)控制器:根据选择的月份/年份,生成一个包含该月每天的数组。$ scope。$ watchCollection每当年份或月份更改时都会更新数组。 如代码所示,我可以做的更好: 问题在于getAssignments()是“昂贵的”,因为它需要检查: 是公共假期吗? 员工在那天工作吗? 员工有假期吗? 获取

  • 问题内容: 我在另一个ng-repeat中嵌套了一个ng-repeat。我想在单击按钮时将一些值推入第二个数组 谁可以帮我这个事。谢谢 问题答案:

  • 问题内容: 我有一个使用嵌套ng-repeat创建的列表列表。每个外部ng-repeat都包含一个带有内部列表标签的div(例如:“ Group A”)。我现在正在尝试创建一种方法来避免由于过滤而内部列表为空时避免显示此标签(由输入searchtext应用) 这是一个解释我的问题和尝试的解决方法的人:Plnkr 具有isGroupEmpty这样的“繁重”功能似乎非常麻烦-有没有办法以更简单的方式做

  • 问题内容: 我需要第二个$ index用于嵌套的ng-repeat循环。我应该在哪里放? AngularJS网站说 可以使用ngInit为这些属性创建别名。例如,在嵌套ngRepeats时,这可能很有用。 如果我再次使用$ index,它似乎可以工作,但是我不确定这是否正确?我敢肯定有一种简单而正确的方法,我只是找不到一个例子。 谢谢 问题答案: 将引用最内层作用域的索引,因此,如果您需要它,则可